Membuat User Session di Java

Cara Membuat User Session di Java | Membuat Session di Java Desktop
Cara Membuat Session User di Java Menggunakan NetBeans - Bila kalian pernah coding PHP, seharusnya kalian juga tahu tentang SESSION dalam pemrograman PHP. Nah, kesempatan kali ini kita akan belajar tentang membuat SESSION LOGIN, bedanya ini menggunakan java. Prinsip kerjanya bisa dikatakan sama dengan SESSION di PHP. Jadi, kita tidak bisa melakukan aktivitas pada aplikasi sebelum kita melakukan login.

Sebelum melanjutkan tutorial ini, sebaiknya teman-teman harus tahu dulu dengan membuat menu login di java dengan database. Kalau belum tahu, sebaiknya teman-teman membaca tulisan saya yang berjudul "Cara Membuat Menu Login di Java dengan MySQL", karena tutorial ini berkaitan dengan tulisan tersebut.

Untuk membuat SESSION di java, hal yang perlu kita butuhkan tentu saja database. Disini, nanti kita akan menyimpan objek apa saja yang ada di database ke dalam SESSION.
Buatlah sebuah tabel pada database yang berisi tentang informasi user, seperti yang ada di Cara Membuat Menu Login di Java dengan MySQL, kamu bisa menambahkan kolom Alamat, Umur dan lain-lain. Disini, saya membuat DB baru dengan tabel 'pengguna' yang isinya seperti ini:
Membuat SESSION di Java seperti di PHP

Lalu masukkan beberapa data di dalam tabel tersebut.
Kalau sudah, buatlah 2 Frame yaitu FrmLogin.java (lihat disini) dan FrmMenu, dan 2 Java Class yaitu Koneksi.java dan UserSession.java

Untuk UserSession.java, isi dengan objek yang ada pada tabel 'pengguna' di DB, atau objek-objek tertentu yang akan ditampilkan.

== Source Code Koneksi.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author www.kangsunu.web.id
 */
public class Koneksi {

    private Connection connection;

    public Connection getConnection() {
        return connection;
    }

    public void dbConnection() { //<-- untuk koneksi ke database  
        // Cek Driver  
        try {
            Class.forName("com.mysql.jdbc.Driver"); //<-- nama driver untuk koneksi ke MySQL  

            // Cek Database  
            try {
                String url, user, password;
                url = "jdbc:mysql://localhost:3306/java_session"; //alamat DB  
                user = "root";
                password = "";
                connection = DriverManager.getConnection(url, user, password);

                System.out.println("Koneksi Sukses");
            } catch (SQLException se) {
                JOptionPane.showMessageDialog(null, "Koneksi Gagal! " + se);
                System.exit(0);
            }
        } catch (ClassNotFoundException cnfe) {
            JOptionPane.showMessageDialog(null, "Driver Tidak Ditemukan!" + cnfe);
            System.exit(0);
        }
    }

    public static void main(String[] kon) {
        new Koneksi().dbConnection();
    }
}


== Source Code UserSession.java
/**
 *
 * @author www.kangsunu.web.id
 */
public class UserSession {

    private static int u_uid;
    private static String u_username;
    private static String u_password;
    private static String u_nama;
    private static String u_alamat;
    private static String u_telepon;
    private static int u_usia;
    
    public static int getU_uid() {
        return u_uid;
    }

    public static void setU_uid(int u_uid) {
        UserSession.u_uid = u_uid;
    }

    public static String getU_username() {
        return u_username;
    }

    public static void setU_username(String u_username) {
        UserSession.u_username = u_username;
    }

    public static String getU_password() {
        return u_password;
    }

    public static void setU_password(String u_password) {
        UserSession.u_password = u_password;
    }

    public static String getU_nama() {
        return u_nama;
    }

    public static void setU_nama(String u_nama) {
        UserSession.u_nama = u_nama;
    }

    public static String getU_alamat() {
        return u_alamat;
    }

    public static void setU_alamat(String u_alamat) {
        UserSession.u_alamat = u_alamat;
    }

    public static String getU_telepon() {
        return u_telepon;
    }

    public static void setU_telepon(String u_telepon) {
        UserSession.u_telepon = u_telepon;
    }

    public static int getU_usia() {
        return u_usia;
    }

    public static void setU_usia(int u_usia) {
        UserSession.u_usia = u_usia;
    }
}


Buat FrmMenu.java seperti ini:
Membuat User Session di Java

== Source Code FrmMenu.java
/**
 *
 * @author www.kangsunu.web.id
 */
public class FrmMenu extends javax.swing.JFrame {

    int uid = UserSession.getU_uid();
    String username = UserSession.getU_username();
    String password = UserSession.getU_password();
    String nama = UserSession.getU_nama();
    String alamat = UserSession.getU_alamat();
    String telepon = UserSession.getU_telepon();
    int usia = UserSession.getU_usia();

    /**
     * Creates new form FrmMenu
     */
    public FrmMenu() {
        initComponents();
        txtUID.setText(String.valueOf(uid));
        txtUsername.setText(username);
        txtPassword.setText(password);
        txtNama.setText(nama);
        txtAlamat.setText(alamat);
        txtTelepon.setText(telepon);
        txtUsia.setText(String.valueOf(usia));
        lblUserLogin.setText("Login as: " +username);
    }

Terus buat FrmLogin, bisa lihat disini
Pada event Action -> actionPerformed, pakai script berikut:
String username = txtUsername.getText();
        String password = txtPassword.getText();
        int u_uid = 0, u_usia = 0;
        String u_nama = null, u_alamat = null, u_telepon = null;
        
        db.dbConnection();
        try {
            String sql = "SELECT * FROM pengguna WHERE username = '" + username + "' AND password = '" + password + "'";
            Statement st = db.getConnection().createStatement();
            ResultSet rsLogin = st.executeQuery(sql);

            while (rsLogin.next()) {
                u_uid = rsLogin.getInt("uid");
                u_nama = rsLogin.getString("nama");
                u_alamat = rsLogin.getString("alamat");
                u_telepon = rsLogin.getString("telepon");
                u_usia = rsLogin.getInt("usia");
            }
            rsLogin.last(); //mengecek jumlah baris pada hasil query
            if (rsLogin.getRow()==1){
                UserSession.setU_uid(u_uid);
                UserSession.setU_nama(u_nama);
                UserSession.setU_alamat(u_alamat);
                UserSession.setU_telepon(u_telepon);
                UserSession.setU_usia(u_usia);
                UserSession.setU_username(username);
                UserSession.setU_password(password);
                                
                JOptionPane.showMessageDialog(null, "Login Berhasil!");
                new FrmMenu().setVisible(true);
                this.dispose();
            } else {
                JOptionPane.showMessageDialog(null, "Maaf, Username / Password salah!");
                txtPassword.setText("");
                txtPassword.requestFocus();
            }
        } catch (SQLException e) {
        }

Tambahkan kode ini di bawah class FrmLogin.java
public class FrmLogin extends javax.swing.JFrame {
    private Connection dbConnection;
    private Koneksi db = new Koneksi();

Sekarang program untuk membuat session di java sudah selesai. Coba running programnya.
Kalau mau download Source Code-nya, bisa download disini atau disini. itu sudah termasuk databasenya.

Kalau tutorial ini ada yang error atau teman-teman kesusahan, tolong beritahu saya dengan cara meninggalkan komentar. terimakasih.

Mungkin ini yang kamu cari:
  • Membuat SESSION di Java seperti di PHP
  • Membuat User Login Session di Java
  • Cara Membuat Session di Java Menggunakan NetBeans
  • Cara Membuat Session User di NetBeans
  • Cara Membuat Session Setelah Login di Java

Kang Sunu

Terimakasih telah membaca tulisan saya yang berjudul Membuat User Session di Java. Mohon untuk tidak menyalin sebagian atau seluruh isi dari tulisan pada halaman ini tanpa izin dari saya dan tanpa mencantumkan link aktif ke url http://www.kangsunu.web.id/2015/06/cara-membuat-user-session-di-java-dengan-netbeans.html.
Terimakasih untuk teman-teman yang telah menghargai tulisan saya.

8 Responses to "Membuat User Session di Java"

  1. kang ijin sedot source code na nya, da bageur....

    ReplyDelete
  2. Replies
    1. bisa ditentukan level usernya, saya pernah buat dengan menambahkan column level di tabel user dengan tipe data ENUM.
      untuk halaman yang bisa diakses sesuai level user, bisa disetting setiap frame-nya.

      Delete
    2. di kode sqlnya seperti ini "SELECT * FROM nama_tabel WHERE kolom_user = '"+variabelTXTFIELDuser.getText()+"' AND kolom_password = '"+variabelTXTFIELDpass.getText()+"' AND level = 'apa_levelnya'";

      Delete
    3. yapp.. terimakasih mas Wahyudi Yuda yang sudah ikut membantu menjawab pertanyaannya :)

      Delete
  3. ane nitip risol ya gan.
    btw download juga deng

    ReplyDelete