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
Next Post Previous Post
16 Comments
  • Unknown
    Unknown 22 April 2016 pukul 10.58

    password gannnn.... passworddd....

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 23 April 2016 pukul 06.52

      password: kangsunu

  • Unknown
    Unknown 17 Agustus 2016 pukul 00.03

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

  • Asri
    Asri 26 Desember 2016 pukul 23.53

    mas kalo multi user gimana ?

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 27 Desember 2016 pukul 17.23

      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.

    • Unknown
      Unknown 1 Februari 2017 pukul 12.38

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

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 9 Februari 2017 pukul 06.29

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

  • Unknown
    Unknown 27 Juli 2017 pukul 22.07

    ane nitip risol ya gan.
    btw download juga deng

  • Unknown
    Unknown 3 Januari 2018 pukul 03.58

    setelah semalam suntuk nyampe subuh, nyoba berbagai blog gagal terus.. akhirnya bisa lewat artikel sini! terima kasih banyak mastah! :)

  • Unknown
    Unknown 3 Januari 2018 pukul 04.00

    setelah utak atik dari siang nyampe subuh, nyoba berbagai blog gagal terus.. akhirnya bisa lewat artikel sini! terima kasih banyak mastah! :)
    rekomended !!

  • Anonim
    Anonim 18 Januari 2018 pukul 15.22

    makasih banyak kang sunu sangat bermanfaat smoga berkah ilmu ente thanks yaa

  • Ryo
    Ryo 15 Maret 2019 pukul 00.14

    Kang.. ane make sqlite kok nga bisa ?

  • Unknown
    Unknown 26 Agustus 2019 pukul 08.46

    Om ada email aktif gak? mau diskusi soal user session,

    • Sunu Aziz Rahayu
      Sunu Aziz Rahayu 14 September 2019 pukul 18.18

      diskusi bisa lewat sini aja, biar yang lain juga bisa bantu buat diskusi

  • Anang Hariyanto N
    Anang Hariyanto N 19 November 2019 pukul 14.05

    Brarti ini session nya manual ya?

  • andika310
    andika310 28 Januari 2021 pukul 14.46

    password salah ya kang?

Add Comment
comment url