Materi PWPB Bab 1 Bagian B Kelas XII RPL: Aplikasi Web Statefull
B. Aplikasi Web Statefull
Pada sebuah website, biasanya user hanya memasukkan password/login sekal saja sudah bisa masuk ke halaman lain tanpa harus login kembali. Informasi atau data login user tersebut mampu disimpan dan digunakan kembali sehingga mam pu memaksimalkan kinerja dan efektivitas suatu website. Kemampuan mengingat informasi tersebut dapat disesuaikan waktunya sesuai dengan keinginan programmer) pemilik website. Fasilitas session dan cookie juga mampu meningkatkan keamanan dari website sendiri karena waktu pengaksesan user/client dapat dibatasi. Jika waktu session habis, user atau client dapat memperpanjang waktu session atau mengakhiri session.
1. Konsep Session dan Cookies dalam Aplikasi Web
Dalam PHP dikenal istilah "session" dan "cookies" yang digunakan untuk menyimpan informasi pengguna. Secara umum, keduanya memang sulit dibedakan karena dari segi fungsinya bisa dikatakan sama.
a. Konsep Session
Session merupakan sebuah variabel global yang diciptakan dalam server php pada saat sesi awal membuka sebuah halaman dan berlaku sampai menutup halaman tersebut. Session tidak dibatasi oleh konfigurasi browser klien, seperti halnya cookies, karena tersimpan di server. Session akan otomatis menciptakan sebuah ID unik untuk setiap pengguna pada saat dijalankan. Session sering digunakan untuk menyimpan informasi login yang berlaku hanya dalam satu sesi dan menyimpannya dengan baik.
1). Cara Deklarasi Session dalam PHP
Guna menggunakan session, harus mengaktifkannya dengan cara mendeklarasikan pada bagian awal-awal header dokumen sebelum<html> dengan cara menuliskan kode berikut.
<?php
session _start ();
?>
Setiap halaman yang menggunakan variabel session harus mendeklarasikan kode di atas, baru bisa menggunakannya. Setelah itu, baru bisa membuat nama session baru seperti berikut.
<?php
$_SESSION ['Latih'] = "JOSH";
?>
2). Mengawali Session
Untuk membuat sebuah session atau melanjutkan session sebelumnya dapat melalui pengidentifikasian session melalui GET/POST atau cookie. Menunjukkan bahwa suatu halaman menggunakan session maka pada awal halaman harus ada awal session, yaitu dengan session_start () atau session_start.
<?php
session_start;
?>
3). Penggunaan Variabel Session
Setelah session dimulai maka variabel session dapat digunakan. Penggunaannya menggunakan format $_SESSION['nama_variabel']. Setiap halaman yang menggunakan variable session harus mendeklarasikan kode di atas agar dapat menggunakannya. Setelah itu, baru membuat nama session baru, sebagai berikut.
<?php
$_SESSION ['Latih1'] = "JOSH2";
?>
Session dengan nama 'Latih1' akan dapat kita gunakan dalam sebuah page dengan cara, sebagai berikut.
<?php
echo $_SESSION ['Latih1'];
?>
4). Menghapus Session
Setelah variabel session digunakan, variabel tersebut dapat dihapus. Banyak cara untuk menghapus session, di antaranya sebagai berikut.
a). $_SESSION['nama_variabel'] = " " untuk memberikan atau mengganti nilai dari variabel session menjadi null atau kosong.
b). unset ($_SESSION['nama_variabel']) guna menghapus sebuah variabel session.
<?php
//Untuk menghapus session tertentu
unset ($_SESSION ['Latih1']);
c). session_destroy () guna menghapus semua variabel session yang mungkin ada banyak variabel session yang dibuat. Fungsi session destroy tidak memerlukan argumen dalam penggunaannya.
//Untuk menghapus semua session
session_destroy;
?>
b. Konsep Cookies
Konsep cookies digunakan untuk menyimpan informasi login user seperti username, password, dan sebagainya. Biasanya cookies yang dibuat ketika Anda pertama kali mengunjungi sebuah website yang berisi nama, kode angka, tanggal expired, nama domain, dan sebagainya. Selain user dapat melihat informasi yang disimpan, user juga bisa mendisable cookies itu sendiri. Jika cookies di-disable maka program yang memanfaatkan cookies tentunya tidak akan berjalan dengan baik. Cookies yang telah disimpan pada browser bisa diambil untuk memberitahu website tentang aktivitas user pada waktu sebelumnya. Dalam penanganan cookies juga terdapat beberapa proses yang perlu diperhatikan mencakup proses pembuatan cookies, proses pemeriksaan cookies, dan proses penghapusan cookies. Secara mendasar, cookies bisa disebut HTTP cookies/web cookies/browser cookies adalah data atau informasi yang diciptakan oleh suatu website untuk disimpan di web browser, ketika user sedang menjelajahi website tersebut.
Berdasarkan sifat yang dimilikinya, cookie dapat digunakan sebagai berikut.
1). Merekam daftar barang yang ingin dibeli pengunjung.
2). Menyimpan username dan password login agar pengguna tidak selalu harus mengisikannya pada saat membuka page (halaman web).
3). Menciptakan suatu sesi yang memungkinkan seseorang dapat masuk ke halaman- halaman lain tanpa perlu melakukan login kembali.
4). Guna mencatat konfigurasi yang dilakukan oleh user, seperti warna tema, jenis huruf, pilihan bahasa, dan lain-lain.
5). Guna mengetahui apakah pengunjung pernah datang atau belum ke halaman yang sedang dibuka (seperti yang digunakan pada hit counter/penghitung jumlah pengunjung pada blog).
Cookie memiliki umur, yang artinya setiap data yang disimpan dalam komputer user suatu saat bisa hilang. Hal ini disebabkan cookie memiliki masa simpan dalam komputer user. Beberapa jenis cookies di antaranya sebagai berikut.
1). Nonpersistent (session) Cookies
Suatu cookie yang akan hilang sewaktu user menutup browser dan biasanya digunakan pada "shopping carts" di toko belanja online untuk menelusuri item- item yang dibeli.
2). Persistent Cookies
Diatur oleh situs-situs portal, banner/media iklan situs dan lainnya yang ingin tahu ketika user kembali mengunjungi site mereka. (Misal dengan cara memberikan opsi "Remember Me" saat login). File-file ini tersimpan di hard disk user.
C. Cara Kerja Cookies dan Session
Saat pengunjung (visitor) mengakses suatu halaman maka pengunjung memulai session (digunakan fungsi session_start()). Bila dalam konfigurasi php, session. auto_start diset ke 1 maka php akan melakukan start session secara otomatis.
Pengunjung kemudian diberi pengenal berupa session id. Session id adalah rangkaian karakter yang unik, misalnya 987654321xyz. Bersamaan dengan itu, pada sisi server juga dibuat file ses_987654321xyz yang berisi variabel-variabel session milik si pengunjung. Variabel yang diregister dengan fungsi session_register() akan disimpan dalam file ini. Secara mendasar, metode di atas adalah default. Pengiriman session id ke server bisa dilakukan melalui dua teknik, yaitu secara default dikirim melalui cookies dan melalui query string (string yang ditambahkan ke URL).
Prosedurnya adalah session id berupa cookie PHPSESSID (default). Ada kalanya dengan alasan tertentu, si pengunjung dapat menonaktifkan cookies (bisa dilakukan melalui setting browser-nya). Bila hal ini terjadi maka pengiriman session id dilakukan melalui query string (string yang ditambahkan ke URL). Dengan demikian, Session akan berakhir pada saat fungsi session_destroy() dipanggil atau sewaktu user menutup web browser.
2. Penggunaan Session dalam Program Aplikasi Web
Session identik dengan salah satu bagian dari cookies. Kegunaan session adalah untuk melakukan aktivitas yang berhubungan dengan interaksi user pada sebuah web server php. Misalnya, penggunaan session untuk login dan logout. Hal yang perlu diketahui adalah penggunaan $_session[] harus didaftarkan terlebih dahulu. Sebab, apabila session tidak didaftarkan terlebih dahulu maka variabel session tidak dapat digunakan, alias kosong.
a. Bagian-Bagian dari $_SESSION[]
1). Session_start();
Instruksi ini menunjukkan pada saat session dimulai, semua session akan didaftarkan dan selanjutnya akan disimpan. Kegunaan dari fungsi session_start(); adalah untuk memulai eksekusi session pada server dan kemudian menyimpannya pada browser. Penyimpanan ini terjadi sampai jangka waktu tertentu.
2). Session_register("");
Selanjutnya jika session sudah dimulai dengan perintah Session_start();, maka langkah selanjutnya adalah mendaftarkan session pada tahap berikutnya. Pada fungsi tersebut terdapat dua tanda petik, di antara tanda petik tersebut berisi nama session yang didaftarkan. Perhatikan perintah berikut.
session_register("username");
3). $_SESSION[username]
Varibel ini adalah sebuah inisialisasi dari session.
4). Session_destroy();
Pada bagian ini menjelaskan bahwa semua session yang telah dibuat dan di inisialisasi akan di-destroy (dihancurkan). Tahapan inilah yang sering digunakan untuk script logout pada web atau aplikasi berbasis web lainnya.
b. Kegunaan dan Cara Menggunakan $_SESSION[]
Studi kasus menggunakan login diawali dengan membuat file dengan nama session.php kemudian tempatkan pada server, sesuaikan dengan server menggunakan bisa xamp, wamp atau sejenisnya, dan file yang kedua, yaitu ceksession.php. Penggunaan script pada session adalah sebagai berikut.
1). Session.php
Script php di atas adalah halaman awal dengan menampilkan default jika belum login, serta di cek session belum ada perintah untuk login. Apabila sudah login akan berubah menampilkan username dan password pada session yang dipakai untuk login sebelumnya dan perintah logout.
Berikut hasil kompilasi kode program nya.
Versi Acode
2). Ceksession.php
Berikut hasil kompilasi kode program nya versi Acode






