Membuat Form Login di Netbens

Halo Programmer hebat? Gimana nih kabarnya hari ini? Masih semangtkan buat ngoding?

Sekarang masih pagi, malah pagi banget karena masih jam 3 an, kali ini saya akan membagikan hasil tugas saya di SMK, semoga bisa menjadi inspirasi.

Apa itu tugasnya? Tugas saya yang akan saya bagikan adalah membuat fom login dan data siswa di Netbeans.  Mungkin ini sudah tugas bulan lalu, tapi saya tidak lupa untuk membagikan ilmu saya kepada anda semua.





Ketika kita akan membuat projek di neatbens pastinya kita membutuhkan alat dan media salah satunya adalah aplikasi Netbeans, anda bisa mendownloadnya di sini. Selain Netbeans apa lagi yang dibutuhkan? Oh iya kita butuh Xampp. Apa sih Xampp itu? Xampp adalah sebuah perangkat lunak komputer yang sistem penamaannya diambil dari akronim kata Apache, MySQL (dulu) sedangkan yang penamaan sekarang bernama MariaDB, PHP, dan Perl. Sementara untuk imbuhan huruf “X” yang terdapat pada awal kata berasal dari istilah cross platform yang artinya simbol bahwa aplikasi xampp ini dapat dijalankan di 4 sistem operasi berbeda, seperti OS Windows, Mac OS, OS Linux, dan juga Solaris. Xampp ini berfungsi sebagai server lokal untuk mengampu berbagai jenis data website yang sedang dalam proses pengembangan. 

Dalam penggunaannya, XAMPP bisa digunakan untuk menguji kinerja fitur atau menampilkan konten yang ada di dalam website kepada orang lain tanpa harus terkoneksi dengan internet, cukup akses melalui Xampp control panel, atau istilahnya website offline. XAMPP bekerja secara offline layaknya web hosting biasa namun tidak bisa diakses oleh banyak orang. 

Maka dari itu, XAMPP biasanya banyak digunakan oleh para mahasiswa maupun pelajar untuk melihat hasil desain website sebelum akhirnya dibuat online menggunakan web hosting yang biasa dijual di pasaran atau online.

Untuk menjalankan projek ini anda hanya perlu mengaktifkan fitur Apache dan MySQL. Apache adalah aplikasi web servey yang dapat diakses secara gratis dan dapat digunakan untuk orang banyak. Sedangkan MySQL atau MariaDB merupakan aplikasi database server yang dikembangkan oleh orang yang sama. MySQL berperan dalam mengedit, menghapus daftar melalui database dan mengolah database. Berikut panduannya.


Hal pertama yang harus anda lakukan adalah penginstalan aplikasi Netbenas dan Xampp, anda hanya ikuti dan intruksinya. Jika sudah terinstall anda bisa membuka 2 aplikasi tadi. Selanjutnya anda aktifkan Xampp anda dengan mengeklik tombol start pada fitur Apache dan MySQL di Xampp.

Setelah itu anda buat database telebih dulu, dimana buatnya? Buatnya itu  webnya Xampp, coba anda buka link ini. Untuk lebih mudahnya ikuti perintah di bawah ini :

1. Buat Database baru dengan menekan tombol +baru seperti gambar di bawah ini





2. Beri nama Database yang ingin anda buat contoh “db_spp”



3. Di dalam Database terdapat beberapa tabel, tabel yang harus dibuat adalah tabel login lakukan seperti gambar di bawah ini



4. Setelah itu kita isi tabel login dengan ini



5. Selain tabel login tabel yang kita butuhkan adalah tabel data siswa, caranya dengan menekan tombol +baru pada bawah database db_spp



6. Isi tabel data_siswa sesuai keinginan kalian

Setelah kita selesai membuat database waktunya kita ngoding, ngoding yang akan kita buat dilakukan di Aplikasi Netbeans, berikut panduannya :

1. Buat desain form Login seperti gambar di bawah ini di Jframe Form dengan nama login. Pada Textfield username anda beri nama username dan Textfiend password anda beri nama pass. Fungsinya untuk mengambil data yang anda tulis agar dicocokkan dengan database yang ada



2. Setelah isi source login dengan kode di bawah ini

package spp;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

import javax.swing.JOptionPane;


public class login extends javax.swing.JFrame {

    // deklarasi

    Connection con;

    Statement stat;

    ResultSet rs;

    String sql;

    

    public login() {

        initComponents();

        //pemanggilan fungsi koneksi database yang sudah kita buat pada class koneksi.java

        koneksi DB = new koneksi();

        DB.config();

        con = DB.con;

        stat = DB.stm;

    }


    @SuppressWarnings("unchecked")

    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          

    private void initComponents() {


        jDesktopPane1 = new javax.swing.JDesktopPane();

        jLabel1 = new javax.swing.JLabel();

        jLabel2 = new javax.swing.JLabel();

        jLabel3 = new javax.swing.JLabel();

        username = new javax.swing.JTextField();

        pass = new javax.swing.JPasswordField();

        masuk = new javax.swing.JButton();

        jButton2 = new javax.swing.JButton();

        jButton1 = new javax.swing.JButton();


        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);


        jDesktopPane1.setBackground(new java.awt.Color(102, 153, 255));


        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N

        jLabel1.setText("Form Login");


        jLabel2.setText("Username");


        jLabel3.setText("Password");


        username.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                usernameActionPerformed(evt);

            }

        });


        masuk.setText("Login");

        masuk.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                masukActionPerformed(evt);

            }

        });


        jButton2.setText("Batal");

        jButton2.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jButton2ActionPerformed(evt);

            }

        });


        jButton1.setText("Exit");

        jButton1.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jButton1ActionPerformed(evt);

            }

        });


        javax.swing.GroupLayout jDesktopPane1Layout = new javax.swing.GroupLayout(jDesktopPane1);

        jDesktopPane1.setLayout(jDesktopPane1Layout);

        jDesktopPane1Layout.setHorizontalGroup(

            jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jDesktopPane1Layout.createSequentialGroup()

                .addGroup(jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                    .addGroup(jDesktopPane1Layout.createSequentialGroup()

                        .addGap(123, 123, 123)

                        .addComponent(jLabel1))

                    .addGroup(jDesktopPane1Layout.createSequentialGroup()

                        .addGap(57, 57, 57)

                        .addGroup(jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

                            .addGroup(jDesktopPane1Layout.createSequentialGroup()

                                .addComponent(jButton2)

                                .addGap(44, 44, 44)

                                .addComponent(masuk))

                            .addGroup(jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

                                .addGroup(jDesktopPane1Layout.createSequentialGroup()

                                    .addComponent(jLabel3)

                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                                    .addComponent(pass))

                                .addGroup(jDesktopPane1Layout.createSequentialGroup()

                                    .addComponent(jLabel2)

                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                                    .addComponent(username, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE))))))

                .addContainerGap(114, Short.MAX_VALUE))

            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jDesktopPane1Layout.createSequentialGroup()

                .addGap(0, 0, Short.MAX_VALUE)

                .addComponent(jButton1)

                .addGap(34, 34, 34))

        );

        jDesktopPane1Layout.setVerticalGroup(

            jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jDesktopPane1Layout.createSequentialGroup()

                .addGap(27, 27, 27)

                .addComponent(jLabel1)

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                .addComponent(jButton1)

                .addGap(18, 18, 18)

                .addGroup(jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel2)

                    .addComponent(username, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addGap(41, 41, 41)

                .addGroup(jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

                    .addComponent(jLabel3)

                    .addComponent(pass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addGap(39, 39, 39)

                .addGroup(jDesktopPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(masuk)

                    .addComponent(jButton2))

                .addContainerGap(54, Short.MAX_VALUE))

        );

        jDesktopPane1.setLayer(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(username, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(pass, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(masuk, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(jButton2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jDesktopPane1.setLayer(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);


        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

        getContentPane().setLayout(layout);

        layout.setHorizontalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addComponent(jDesktopPane1)

        );

        layout.setVerticalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addComponent(jDesktopPane1)

        );


        pack();

    }// </editor-fold>                        


    private void masukActionPerformed(java.awt.event.ActionEvent evt) {                                      

        // TODO add your handling code here:                                      

                

        try {

            sql = "SELECT * FROM login WHERE username='"+username.getText()+"' AND password='"+pass.getText()+"'";

            rs = stat.executeQuery(sql);

            if(rs.next()){

                if(username.getText().equals(rs.getString("username")) && pass.getText().equals(rs.getString("password"))){

                    this.setVisible(false);

                    new data_siswa().setVisible(true);

                }

            }else{

                    JOptionPane.showMessageDialog(null, "username atau password salah");

                }

        } catch (Exception e) {

            JOptionPane.showMessageDialog(this, e.getMessage());

            dispose();

  

    }

    }                                     


    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here:

        username.setText("");

        pass.setText("");

    }                                        


    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here:

       dispose();

    }                                        


    private void usernameActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here:

    }                                        


    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) {

        /* Set the Nimbus look and feel */

        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 

         */

        try {

            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

                if ("Nimbus".equals(info.getName())) {

                    javax.swing.UIManager.setLookAndFeel(info.getClassName());

                    break;

                }

            }

        } catch (ClassNotFoundException ex) {

            java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (InstantiationException ex) {

            java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (IllegalAccessException ex) {

            java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        } catch (javax.swing.UnsupportedLookAndFeelException ex) {

            java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

        }

        //</editor-fold>


        /* Create and display the form */

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new login().setVisible(true);

            }

        });

    }


    // Variables declaration - do not modify                     

    private javax.swing.JButton jButton1;

    private javax.swing.JButton jButton2;

    private javax.swing.JDesktopPane jDesktopPane1;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel3;

    private javax.swing.JButton masuk;

    private javax.swing.JPasswordField pass;

    private javax.swing.JTextField username;

    // End of variables declaration                   

}


3.. Untuk mengaktifkan database yang telah kita buat, buatlah Java Class dengan nama koneksi, fungsinya untuk mengoneksikan ke database.

 4. Isi koneksi dengan kode di bawah ini

package spp;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Statement;

import javax.swing.JOptionPane;


public class koneksi {

    Connection con;

    Statement stm;

    

    public void config(){

        try {

            Class.forName("com.mysql.jdbc.Driver");

            con=DriverManager.getConnection("jdbc:mysql://localhost/db_spp", "root", "");

            stm = con.createStatement();

        } catch (Exception e) {

            JOptionPane.showMessageDialog(null, "koneksi gagal "+e.getMessage());

        }

    }

}


5. Setelah kita buat desain data siswa di Jframe Form dengan nama data_siswa



untuk isi sourcenya kita kosongi dulu

Coba anda jalankan Programnya, bisa atau tidak. Jika belum bisa cek kembali nama database yang anda tulis.

Selamat Mencoba.....

 

 

 


0 Response to "Membuat Form Login di Netbens"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel