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