Pages

Rabu, 17 Juli 2013

Form Login Pada Aplikasi Minimarket - Java MySQL

     
     Setelah saya mem-posting sebelumnya mengenai form user yang dapat dilihat disini, selanjutnya tugas saya untuk melanjutkan postingan berikutnya yaitu membuat form login. Diharapkan pembaca harus lebih cermat dan teliti karena prosesnya sedikit rumit.
1. Untuk langkah pertama, desain sebuah form login.


2. Deklarasikan variable berikut pada form login :
    koneksi koneksi;
    Statement statement;
    ResultSet resultSet;
    public static int kondisiLogin=3;
    public static String userLogin="tidak terdeteksi";
Keterangan : kondisiLogin di setting = 3, kondisi awal tersebut di atur selain 0 atau 1 karena jika 0 nantinya akan login sebagai admin dan 1 sebagai user.

3. membuat script untuk proses login :
 private void prosesLogin() {
        String level = "";
        try {
            String sql = "select username,password,level from user where username='" 
                    + txtUser.getText() +"' AND password = md5('"+txtPassword.getText()+"'  )"; 

            statement = koneksi.con.createStatement();
            resultSet = statement.executeQuery(sql);

            while (resultSet.next()) {
                level = resultSet.getString(3);
            }
            if (level.equals("")) {
                JOptionPane.showMessageDialog(null, "USERNAME atau PASSWORD SALAH");
                clear();
            } 
            else {
                if (level.equals("0")) {
                    new Menu_Utama(0).setVisible(true);
                    kondisiLogin = 0;

                    this.dispose();
                } else if (level.equals("1")) {
                    new Menu_Utama(1).setVisible(true);
                    kondisiLogin = 1;
                    this.dispose();
                } else {
                    new Menu_Utama(3).setVisible(true);
                    kondisiLogin = 3;
                    this.dispose();
                }
                userLogin = txtUser.getText();
            }

        } catch (Exception  e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
Keterangan : Pada script diatas akan mengecek  siapakah yang login pada sistem. Jika suatu password dan username yang di inputkan salah maka akan muncul sebuah message dialog "username atau password salah" dan apabila benar maka dia akan di cek apakah level nya 0 atau 1. Jika 0 maka login sebagai admin dan 1 sebagai user.


4. Tahap berikutnya adalah buka form menu yang sudah kita buat sebelumnya, jika agan belum membuat dapat dilihat disini. Setelah itu pada form menu, beri nama menu-menu seperti dibawah ini :


5. Pada form menu utama. Buat sebuah deklarasi variable seperti berikut :
    koneksi koneksi;
    public static int kodeLogin=3;
    ResultSet resultSet;
    Statement statement;
6. Kemudian membuat sebuah private belumLogin ( ), private loginAdmin( ), dan private loginKaryawan( ). Kondisi belumLogin ( ) akan berjalan ketika tidak ada user atau admin yang login menjalankan sistem, sedangkan private loginAdmin( ) berjalan ketika admin sedang masuk dalam sistem, begitu juga dengan private loginKaryawan( ) ketika user masuk dalam sistem. 
private void belumLogin() {
        jMenu2.setEnabled(false);
        jMenu3.setEnabled(false);
        jMenu4.setEnabled(false);
        jMenu5.setVisible(true);
        jMenu5.setEnabled(false);
        subMenuLogin.setEnabled(true);
        subMenuRegistrasi.setEnabled(false);
        subMenuLogout.setEnabled(false);
    }

    private void loginAdmin() {
        jMenu2.setEnabled(true);
        jMenu3.setEnabled(true);
        jMenu4.setEnabled(true);
        jMenu5.setEnabled(true);
        jMenu5.setVisible(true);
        subMenuRegistrasi.setEnabled(true);
        subMenuLogout.setEnabled(true);
        subMenuLogin.setEnabled(false);
    }

    private void loginKaryawan() {
        jMenu2.setEnabled(true);
        jMenu3.setEnabled(true);
        jMenu4.setEnabled(true);
        jMenu5.setEnabled(true);
        jMenu5.setVisible(false);
        subMenuRegistrasi.setEnabled(false);
        subMenuLogout.setEnabled(true);
        subMenuLogin.setEnabled(false);
    }
7. Letakkan source code berikut tepat dibawah initComponents( ) :
        kodeLogin = login;
        belumLogin();

        if (login == 0) {
            loginAdmin();
        } else if (login == 1) {
            loginKaryawan();
        } else {
            belumLogin();
        }
8. Kemudian Jalankan menu utama dan lihat pada menu user, submenu logout dan manage user telah di set dengan set enable false, begitu pula dengan menu Management Barang, Pengadaan, Penjualan dan Laporan :


9. Setelah itu coba anda login sebagai user


Lihat perubahan pada menu user. User yang melakukan login pada sistem, maka submenu Login  akan di setEnabled (false). Lihat pada submenu Managae User dan submenu Logout, submenu tersebut akan ter-setEnable (true). Dan jika login sebagai user. Hak akses dapat dilihat pada gambar menu utama dibawah ini, bahwa user tidak dapat melakukan entri data user baru dan tidak dapat mengelola laporan.


10. Coba anda login sebagai Administrator :


11. Dan lihat perubahan pada menu utama. Apa yang terjadi ? bahawa administrator dapat mengelola laporan serta menambah user baru.


6 komentar:

  1. New menu_utama(0).setVisible(true) dapat dr mana om. .sedangkang di form menu utama ga ada method tsb...bantuin

    BalasHapus
  2. itu jd double formutama loh
    gmn solusinya?

    BalasHapus
  3. itu solusinya buat di construktor menuutama nya
    public menuutama(int login) sehinga ntar di baca deh login==0 pada form login

    BalasHapus
Tulis komentar disini!