Empat Pilar – Pengertian SESSION : Fungsi, Cara Kerja dan Cara Penggunaan. Artikel ini membahas secara mendalam tentang pengertian SESSION, fungsi, cara kerja, dan cara penggunaan dalam dunia digital untuk membantu Kalian mengoptimalkan pengalaman pengguna.
Mari kita bahas sesuatu yang cukup penting dalam dunia digital: Pengertian SESSION – Fungsi, Cara Kerja dan Cara Penggunaan.
SESSION merupakan salah satu komponen kunci dalam pengembangan aplikasi web, dan pemahaman yang baik tentang konsep ini akan membantu Kalian mengoptimalkan pengalaman pengguna.
Pengertian SESSION
Pengertian SESSION, merupakan fitur penting dalam pengembangan website yang digunakan untuk menyimpan informasi khusus pada server web.
Fitur ini dapat digunakan untuk mengidentifikasi pengguna, mempertahankan keadaan sesi, serta meningkatkan keamanan dan privasi.
Namun, SESSION hanya bersifat sementara. Artinya, ketika pengguna keluar dari browser dan mencoba masuk kembali ke dalam aplikasi, SESSION yang telah dibuat sebelumnya akan terhapus.
Untuk mengirim SESSION ke halaman lain, digunakan variabel global $_SESSION yang biasanya berisi data hasil fetching dari database atau data yang dibuat oleh programmer sendiri untuk kebutuhan validasi.
Perlu diingat bahwa SESSION berbeda dengan COOKIE yang disimpan pada sisi client. SESSION dideklarasikan dalam variabel global $_SESSION dan dapat dimanfaatkan untuk keperluan hak akses, mengirim data ke halaman lain, membuat pesan untuk pengguna, dan banyak lagi.
Sebagai contoh penggunaan SESSION, saat login ke platform Gmail, pengguna diminta memasukkan email dan password.
Dengan memanfaatkan SESSION, pengguna tidak perlu login kembali ketika tidak sengaja menutup tab halaman tersebut karena SESSION yang telah dibuat sebelumnya masih tersimpan.
Namun, jika pengguna menutup browser yang digunakan, SESSION akan terhapus.
Fungsi SESSION PHP
Setelah memahami Pengertian SESSION, selanjutnya fungsi dari SESSION sangat beragam. Salah satu fungsinya adalah untuk membuat website menjadi lebih interaktif.
Dalam interaksi antara pengguna dengan website, data yang dimasukkan oleh pengguna dapat disimpan dalam SESSION dan dapat digunakan kembali saat pengguna kembali ke halaman yang sama atau ke halaman lain dalam website.
Dengan adanya SESSION, pengguna dapat menjelajahi website dengan lebih mudah dan cepat.
Ada beberapa fungsi dalam session yang sering digunakan, di antaranya:
- session_start() digunakan untuk mengaktifkan session.
- session_destroy() digunakan untuk menghapus seluruh session yang telah dibuat.
- unset() digunakan untuk menghapus data session tertentu.
Sebelum membahas fungsi unset(), pertama-tama kita perlu menjelaskan cara mengaktifkan session dan mendeklarasikan sebuah variable global session.
1. Untuk mengaktifkan session, buatlah file php dengan nama index.php dan tuliskan sintaksnya seperti berikut:
<?php
// Mengaktifkan session dengan memanggil fungsi session_start()
session_start();
// Mendeklarasikan variable global session
$_SESSION[‘nama’] = ‘Restu Kersana’;
?>
2. Selanjutnya, buatlah file baru dengan nama ceksession.php dan tuliskan sintaks seperti berikut:
<?php
// Aktifkan session terlebih dahulu
session_start();
// Tampilkan session dari halaman index.php
echo $_SESSION[‘nama’];
?>
3. Untuk menghapus session yang telah dibuat sebelumnya, gunakan fungsi unset() seperti berikut:
<?php
// Aktifkan SESSION
session_start();
// Hapus SESSION yang telah dibuat sebelumnya
unset($_SESSION[‘nama’]);
?>
Dengan menggunakan fungsi unset(), kita dapat menghapus data session tertentu tanpa menghapus seluruh session yang telah dibuat.
Cara Kerja Session
Sudah memahami Pengertian SESSION ? Selanjutnya proses kerja session dimulai dengan pembuatan session ID oleh server saat pengguna membuat permintaan pertama.
Session ID ini akan disimpan dalam cookie atau URL dan akan dikirimkan ke server pada setiap permintaan berikutnya.
Setelah menerima session ID, server akan memeriksa ID tersebut untuk mengidentifikasi pengguna dan memuat data session terkait.
Data session tersebut dapat berisi informasi seperti username, preferensi pengguna, atau status login. Data session kemudian dapat dimanipulasi pada server dan disimpan kembali.
Dengan menggunakan session, pengguna dapat menyimpan preferensi dan informasi selama masih dalam sesi, serta meningkatkan kinerja sistem dan memudahkan proses login.
Selain itu, session juga membantu menjaga keamanan sistem dan memudahkan pelacakan aktivitas pengguna.
Cara Menggunakan SESSION PHP
Nah setelah mengenal Pengertian SESSION, selanjutnya setelah mempelajari konsep dasar penggunaan session pada PHP, saya akan menjelaskan cara mengimplementasikannya.
Contoh berikut adalah implementasi sederhana session login yang dapat kalian terapkan. Pada contoh ini, session PHP digunakan untuk mengecek apakah pengguna telah login atau belum, serta melakukan validasi saat pengguna mengakses halaman melalui URL.
Jika pengguna tidak login dan mencoba mengakses halaman melalui URL, maka pengguna akan dikembalikan ke halaman login karena tidak memiliki session login yang valid.
1. Berikut adalah contoh penggunaan session di PHP untuk halaman login:
php
Copy code
<?php
//Aktifkan SESSION terlebih dahulu
session_start();
//parameter 1 = nama hostnya
//parameter 2 = db usernamenya
//parameter 3 = db passwordnya
//parameter 4 = nama databasenya
$koneksi = mysqli_connect(‘localhost’,’root’,”,’nama_database’);
//Cek apakah tombol submit telah ditekan
if(isset($_POST[‘submit’])) {
//Ambil data yang diinputkan oleh user
$username = mysql_real_escape_string($_POST[‘nama’]);
$password = $_POST[‘password’];
//Cek pada database apakah username tersedia atau tidak
if($result = mysqli_query($koneksi, “SELECT * FROM user WHERE username=’$username’”)){
//Jika ada maka akan menghasilkan nilai 1
if(mysqli_num_rows($result) === 1) {
//ambil data query tadi menggunakan function mysqli_fetch_assoc()
$data = mysqli_fetch_assoc($result);
//cek apakah password cocok dengan didatabase
if(password_verify($password, $data[‘password’])){
$_SESSION[‘hak_akses’] = ‘Admin’;
//pindahkan kehalaman yang dituju
header(‘Location: admin.php’);
}
}
}
}
?>
2. Dan berikut adalah contoh penggunaan login tanpa menggunakan hash:
php
Copy code
<?php
//Aktifkan SESSION terlebih dahulu
session_start();
//parameter 1 = nama hostnya
//parameter 2 = db usernamenya
//parameter 3 = db passwordnya
//parameter 4 = nama databasenya
$koneksi = mysqli_connect(‘localhost’,’root’,”,’nama_database’);
//Cek apakah tombol submit telah ditekan
if(isset($_POST[‘submit’])) {
//Ambil data yang diinputkan oleh user
$username = mysql_real_escape_string($_POST[‘nama’]);
$password = $_POST[‘password’];
//Cek pada database apakah username tersedia atau tidak
if($result = mysqli_query($koneksi, “SELECT * FROM user WHERE username=’$username’”)){
//Jika ada maka akan menghasilkan nilai 1
if(mysqli_num_rows($result) === 1) {
//ambil data query tadi menggunakan function mysqli_fetch_assoc()
$data = mysqli_fetch_assoc($result);
//cek apakah password cocok dengan didatabase
if($password == $data[‘password’])){
$_SESSION[‘hak_akses’] = ‘Admin’;
//pindahkan kehalaman yang dituju
header(‘Location: admin.php’);
}
}
}
}
?>
3. Setelah itu, buatlah file dengan nama admin.php dan salin syntaxnya seperti di bawah ini:
php
Copy code
<?php
session_start();
//cek terlebih dahulu apakah session hak_akses telah dibuat
if(!isset($_SESSION[‘hak_akses’]) || $_SESSION[‘hak_akses’] !== ‘Admin’){
header(‘Location: login.php’);
}
echo ‘Selamat Datang Admin !’;
?>
Perlu diperhatikan bahwa penggunaan login tanpa hash tidak disarankan karena kurang aman dari serangan hacker. Oleh karena itu, sebaiknya selalu gunakan pengamanan password yang lebih kuat seperti hash.
Contoh Penggunaan Session pada CodeIgniter
CodeIgniter adalah sebuah framework dengan arsitektur MVC (Model View Controller) yang digunakan untuk mengembangkan website dinamis berbasis PHP. Contoh penggunaannya adalah sebagai berikut:
Kalian memiliki sistem pembukuan berbasis CI yang memerlukan login terlebih dahulu sebelum melihat daftar pembukuan bulan ini.
Setelah login, CodeIgniter akan membuat session ID yang tersimpan di file /tmp atau sesuai dengan konfigurasi yang Kalian lakukan.
Ketika Kalian logout, maka session ID tersebut dianggap berakhir dan Kalian harus login ulang untuk masuk ke sistem.
Jika Kalian login tetapi tidak melakukan kegiatan apa pun dalam website, maka session Kalian bisa di-terminate dalam kurun waktu tertentu untuk menjaga keamanannya.
Kalian dapat mengatur session di CodeIgniter melalui konfigurasi sistem. Berikut adalah panduan untuk mengatur session_expired:
- Konfigurasi session terletak pada file config.php di direktori application/config. Silakan buka file config.php tersebut.
- Cari baris konfigurasi $config[‘sess_expiration’] dan ubah nilainya sesuai dengan waktu timeout yang diinginkan dalam detik. Misalnya, jika Kalian ingin session timeout setelah 30 menit, maka ubah nilainya menjadi $config[‘sess_expiration’] = 1800; (30 menit x 60 detik/menit = 1800 detik).
- Jika Kalian ingin mengatur waktu timeout secara otomatis setiap kali ada aktivitas pengguna di aplikasi, Kalian juga dapat menambahkan baris konfigurasi $config[‘sess_time_to_update’] = 300; untuk mengatur waktu timeout ulang setiap 5 menit (300 detik).
- Setelah perubahan dilakukan, simpan file config.php.
Selain mengatur session_expired, Kalian juga bisa mengatur penyimpanan file session_id pada website Kalian.
Penutup
Dalam kesimpulan, session merupakan komponen penting dalam dunia aplikasi web yang memungkinkan pengguna untuk menjaga keberlanjutan akses pada suatu sistem atau layanan.
Fungsi session adalah untuk menyimpan informasi sementara tentang pengguna, sehingga aplikasi web dapat mengenal dan mengingat pengguna dari waktu ke waktu.
Dalam prosesnya, session bekerja dengan cara menghubungkan data pengguna dengan ID session yang unik dan aman.
Penggunaan session dalam aplikasi web melibatkan beberapa langkah, seperti inisialisasi, pembacaan, penulisan, dan penghancuran session.
Dengan memahami konsep session, fungsi, cara kerja, dan cara penggunaannya, para pengembang dapat meningkatkan keamanan, kenyamanan, serta pengalaman pengguna dalam berinteraksi dengan aplikasi web.
Kesadaran akan pentingnya session dalam mengelola data pengguna juga menjadi kunci untuk menerapkan praktik terbaik dalam pengembangan aplikasi web yang efisien, efektif, dan ramah pengguna.
Demikian pembahasan dari empatpilar.com mengenai Pengertian SESSION. Terima kasih