Membuat Forum Fanbase Sepakbola
Contoh Program sederhana menggunakan Java NetBeans
Hai semua, saya akan melanjutkan project yang belum terselesaikan sebelumnya yaitu membuat Form Register dan Login Forum menggunakan bahasa pemrograman Java NetBeans.
Bahan yang digunakan :
- Java NetBeans IDE 8.0.2
- Java JDK
- XAMPP
Oke lanjut aja ni, saya akan mendeskripsikan program yang saya buat ini.
Aplikasi yang saya buat adalah sebuah program forum fanbase sepakbola. Dimana user mampu melihat jadwal pertandingan dan kegiatan dari aktivitas forum tersebut.
Untuk dapat mengakses itu, user diwajibkan untuk login terlebih dahulu. Namun jika belum memiliki akun, user dapat melakukan registrasi untuk mendapatkan akses login.
Pada tampilan ini user diwajibkan melakukan login agar dapat mengkases program aplikasi tersebut dengan mengklik tulisan "Create new account" yang kemudian akan dialihkan ke form Regist.
Berikut source codenya :
package programuts;
import koneksi.koneksi;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Login extends javax.swing.JFrame {
koneksi kon;
public Login() {
initComponents();
kon = new koneksi();
kon.Cc();
setExtendedState(JFrame.MAXIMIZED_HORIZ);
setVisible(true);
this.setLocationRelativeTo(null);
}
private void login() {
try {
String user = txuser.getText();
String pass = new String(txpass.getPassword());
kon.ss = kon.cc.createStatement();
String sql = "Select * From akun Where user = '"+user+"' And pw = '"+pass+"' ";
kon.rs = kon.ss.executeQuery(sql);
if (kon.rs.next()) {
if (txuser.getText().equalsIgnoreCase(kon.rs.getString("user")) && txpass.getText().equals(kon.rs.getString("pw"))){
this.setVisible(false);
JOptionPane.showMessageDialog(null, "Login Success");
new Member().show();
this.dispose();
} else {
JOptionPane.showMessageDialog(null, "Please insert Password correctly");
txpass.requestFocus();
}
}else {
JOptionPane.showMessageDialog(null, "Login Failed");
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void regisMouseClicked(java.awt.event.MouseEvent evt) {
Regist rgs = new Regist();
rgs.setVisible(true);
rgs.setLocationRelativeTo(null);
rgs.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.dispose();
}
private void jBloginActionPerformed(java.awt.event.ActionEvent evt) {
login();
}
Dan pada form Regist, user diharuskan mengisi seluruh field yang ada. Kemudian klik Create.
Berikut source codenya :
package programuts;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import koneksi.koneksi;
public class Regist extends javax.swing.JFrame {
koneksi reg;
public Regist() {
initComponents();
reg = new koneksi();
reg.Cc();
setExtendedState(JFrame.MAXIMIZED_HORIZ);
setVisible(true);
this.setLocationRelativeTo(null);
}
private void regis(){
try {
String user = txuser.getText();
String pass = new String (txpass.getPassword());
String mail = txmail.getText();
Object date = jdate.getDate();
Object gender = "";
if (jrm.isSelected()){
gender = jrm.getText();
}else {
gender = jrf.getText();
}
String sql = "INSERT INTO akun VALUES ('"+user+"','"+pass+"','"+mail+"','"+date+"','"+gender+"')";
if(user.equals("")){
JOptionPane.showMessageDialog(null, "Please insert Username");
txuser.requestFocus();
}else if(pass.equals("")){
JOptionPane.showMessageDialog(null, "Please insert Password");
txpass.requestFocus();
}else if(mail.equals("")){
JOptionPane.showMessageDialog(null, "Please insert E-mail");
txmail.requestFocus();
}else if(date.equals("")){
JOptionPane.showMessageDialog(null, "Please choose Date");
jdate.requestFocus();
}else if(gender.equals("")){
JOptionPane.showMessageDialog(null, "Please choose Gender");
jrm.isSelected();
jrm.requestFocus();
}else {
reg.ss.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Create account Success");
Login log = new Login();
log.setVisible(true);
log.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.dispose();
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
regis();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Regist().setVisible(true);
}
});
}
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private com.toedter.calendar.JDateChooser jdate;
private javax.swing.JRadioButton jrf;
private javax.swing.JRadioButton jrm;
private javax.swing.JTextField txmail;
private javax.swing.JPasswordField txpass;
private javax.swing.JTextField txuser;
}
Setelah selesai membuat akun, user akan dialihkan kembali ke form login dan menggunakan akun yang didaftarkan tadi.
Jika sudah berhasil maka akan muncul tampilan form isi dari aplikasi tersebut. User dapat melihat jadwal pertandingan dan nobar yang akan disajikan oleh Forum tersebut.
Ketika user sudah memilih dan mengklik tombol Submit, maka hasilnya akan terlihat di Text Area yang disediakan.
Berikut contoh source codenya :
package programuts;
import javax.swing.JFrame;
import koneksi.koneksi;
public class Member extends javax.swing.JFrame {
koneksi isi;
public Member() {
initComponents();
isi = new koneksi();
isi.Cc();
setExtendedState(JFrame.MAXIMIZED_HORIZ);
setVisible(true);
this.setLocationRelativeTo(null);
buttonGroup1.add(jRadioButton1);
buttonGroup1.add(jRadioButton2);
buttonGroup1.add(jRadioButton3);
buttonGroup1.add(jRadioButton4);
buttonGroup1.add(jRadioButton5);
buttonGroup1.add(jRadioButton6);
buttonGroup1.add(jRadioButton7);
buttonGroup1.add(jRadioButton8);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Login log = new Login();
log.setVisible(true);
this.setVisible(false);
log.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
String a, b, c;
a = vs.getText();
b = tgl.getText();
c = (String) loc.getSelectedItem();
jTextArea1.setText("Pertandingan\t: "+a+"\nTanggal\t: "+b+"\nLokasi\t: "+c);
}
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Crystal Palace");
tgl.setText("11 Januari 2020");
loc.getSelectedItem();
}
private void vsActionPerformed(java.awt.event.ActionEvent evt) {
}
private void jRadioButton5ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester City v Manchester United");
tgl.setText("8 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton8ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Arsenal");
tgl.setText("24 Januari 2020");
loc.getSelectedItem();
}
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Tottenham v Manchester United");
tgl.setText("28 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Chelsea");
tgl.setText("24 Januari 2020");
loc.getSelectedItem();
}
private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("West Ham United v Manchester United");
tgl.setText("1 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton6ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Everton");
tgl.setText("14 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton7ActionPerformed(java.awt.event.ActionEvent evt) {
vs.setText("Southampton v Manchester United");
tgl.setText("22 Februari 2020");
loc.getSelectedItem();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
reset();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Member().setVisible(true);
}
});
}
private void reset(){
vs.setText("");
tgl.setText("");
jTextArea1.setText("");
loc.getSelectedItem();
}
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JRadioButton jRadioButton3;
private javax.swing.JRadioButton jRadioButton4;
private javax.swing.JRadioButton jRadioButton5;
private javax.swing.JRadioButton jRadioButton6;
private javax.swing.JRadioButton jRadioButton7;
private javax.swing.JRadioButton jRadioButton8;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JComboBox loc;
private javax.swing.JTextField tgl;
private javax.swing.JTextField vs;
}
Oke mungkin, cukup sekian program aplikasi yang saya buat ini.
Semoga ilmu yang saya sharing ini dapat bermanfaat bagi kalian yang membaca.
Jangan lupa komentar untuk saran, dan share ke teman agar saya lebih giat lagi dalam belajar dan sharing ilmu ini.
Sekian. Terima Kasih ~
Untuk dapat mengakses itu, user diwajibkan untuk login terlebih dahulu. Namun jika belum memiliki akun, user dapat melakukan registrasi untuk mendapatkan akses login.
2. Palette
Berikut palette yang saya gunakan dalam membuat Program Forum :
- Frame
- Label
- Text Field
- Password Field
- Radio Button
- JDate Chooser
- Button Group
- Button
Pada tampilan ini user diwajibkan melakukan login agar dapat mengkases program aplikasi tersebut dengan mengklik tulisan "Create new account" yang kemudian akan dialihkan ke form Regist.
Berikut source codenya :
package programuts;
import koneksi.koneksi;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Login extends javax.swing.JFrame {
koneksi kon;
public Login() {
initComponents();
kon = new koneksi();
kon.Cc();
setExtendedState(JFrame.MAXIMIZED_HORIZ);
setVisible(true);
this.setLocationRelativeTo(null);
}
private void login() {
try {
String user = txuser.getText();
String pass = new String(txpass.getPassword());
kon.ss = kon.cc.createStatement();
String sql = "Select * From akun Where user = '"+user+"' And pw = '"+pass+"' ";
kon.rs = kon.ss.executeQuery(sql);
if (kon.rs.next()) {
if (txuser.getText().equalsIgnoreCase(kon.rs.getString("user")) && txpass.getText().equals(kon.rs.getString("pw"))){
this.setVisible(false);
JOptionPane.showMessageDialog(null, "Login Success");
new Member().show();
this.dispose();
} else {
JOptionPane.showMessageDialog(null, "Please insert Password correctly");
txpass.requestFocus();
}
}else {
JOptionPane.showMessageDialog(null, "Login Failed");
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void regisMouseClicked(java.awt.event.MouseEvent evt) {
Regist rgs = new Regist();
rgs.setVisible(true);
rgs.setLocationRelativeTo(null);
rgs.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.dispose();
}
private void jBloginActionPerformed(java.awt.event.ActionEvent evt) {
login();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
}
});
}
private javax.swing.JButton jBlogin;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel regis;
private javax.swing.JPasswordField txpass;
private javax.swing.JTextField txuser;
}
Berikut source codenya :
package programuts;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import koneksi.koneksi;
public class Regist extends javax.swing.JFrame {
koneksi reg;
public Regist() {
initComponents();
reg = new koneksi();
reg.Cc();
setExtendedState(JFrame.MAXIMIZED_HORIZ);
setVisible(true);
this.setLocationRelativeTo(null);
}
private void regis(){
try {
String user = txuser.getText();
String pass = new String (txpass.getPassword());
String mail = txmail.getText();
Object date = jdate.getDate();
Object gender = "";
if (jrm.isSelected()){
gender = jrm.getText();
}else {
gender = jrf.getText();
}
String sql = "INSERT INTO akun VALUES ('"+user+"','"+pass+"','"+mail+"','"+date+"','"+gender+"')";
if(user.equals("")){
JOptionPane.showMessageDialog(null, "Please insert Username");
txuser.requestFocus();
}else if(pass.equals("")){
JOptionPane.showMessageDialog(null, "Please insert Password");
txpass.requestFocus();
}else if(mail.equals("")){
JOptionPane.showMessageDialog(null, "Please insert E-mail");
txmail.requestFocus();
}else if(date.equals("")){
JOptionPane.showMessageDialog(null, "Please choose Date");
jdate.requestFocus();
}else if(gender.equals("")){
JOptionPane.showMessageDialog(null, "Please choose Gender");
jrm.isSelected();
jrm.requestFocus();
}else {
reg.ss.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Create account Success");
Login log = new Login();
log.setVisible(true);
log.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.dispose();
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
regis();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Regist().setVisible(true);
}
});
}
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private com.toedter.calendar.JDateChooser jdate;
private javax.swing.JRadioButton jrf;
private javax.swing.JRadioButton jrm;
private javax.swing.JTextField txmail;
private javax.swing.JPasswordField txpass;
private javax.swing.JTextField txuser;
}
Setelah selesai membuat akun, user akan dialihkan kembali ke form login dan menggunakan akun yang didaftarkan tadi.
Jika sudah berhasil maka akan muncul tampilan form isi dari aplikasi tersebut. User dapat melihat jadwal pertandingan dan nobar yang akan disajikan oleh Forum tersebut.
Ketika user sudah memilih dan mengklik tombol Submit, maka hasilnya akan terlihat di Text Area yang disediakan.
Berikut contoh source codenya :
package programuts;
import javax.swing.JFrame;
import koneksi.koneksi;
public class Member extends javax.swing.JFrame {
koneksi isi;
public Member() {
initComponents();
isi = new koneksi();
isi.Cc();
setExtendedState(JFrame.MAXIMIZED_HORIZ);
setVisible(true);
this.setLocationRelativeTo(null);
buttonGroup1.add(jRadioButton1);
buttonGroup1.add(jRadioButton2);
buttonGroup1.add(jRadioButton3);
buttonGroup1.add(jRadioButton4);
buttonGroup1.add(jRadioButton5);
buttonGroup1.add(jRadioButton6);
buttonGroup1.add(jRadioButton7);
buttonGroup1.add(jRadioButton8);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Login log = new Login();
log.setVisible(true);
this.setVisible(false);
log.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
String a, b, c;
a = vs.getText();
b = tgl.getText();
c = (String) loc.getSelectedItem();
jTextArea1.setText("Pertandingan\t: "+a+"\nTanggal\t: "+b+"\nLokasi\t: "+c);
}
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Crystal Palace");
tgl.setText("11 Januari 2020");
loc.getSelectedItem();
}
private void vsActionPerformed(java.awt.event.ActionEvent evt) {
}
private void jRadioButton5ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester City v Manchester United");
tgl.setText("8 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton8ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Arsenal");
tgl.setText("24 Januari 2020");
loc.getSelectedItem();
}
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Tottenham v Manchester United");
tgl.setText("28 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Chelsea");
tgl.setText("24 Januari 2020");
loc.getSelectedItem();
}
private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("West Ham United v Manchester United");
tgl.setText("1 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton6ActionPerformed(java.awt.event.ActionEvent evt) { vs.setText("Manchester United v Everton");
tgl.setText("14 Februari 2020");
loc.getSelectedItem();
}
private void jRadioButton7ActionPerformed(java.awt.event.ActionEvent evt) {
vs.setText("Southampton v Manchester United");
tgl.setText("22 Februari 2020");
loc.getSelectedItem();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
reset();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Member().setVisible(true);
}
});
}
private void reset(){
vs.setText("");
tgl.setText("");
jTextArea1.setText("");
loc.getSelectedItem();
}
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JRadioButton jRadioButton3;
private javax.swing.JRadioButton jRadioButton4;
private javax.swing.JRadioButton jRadioButton5;
private javax.swing.JRadioButton jRadioButton6;
private javax.swing.JRadioButton jRadioButton7;
private javax.swing.JRadioButton jRadioButton8;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JComboBox loc;
private javax.swing.JTextField tgl;
private javax.swing.JTextField vs;
}
Oke mungkin, cukup sekian program aplikasi yang saya buat ini.
Semoga ilmu yang saya sharing ini dapat bermanfaat bagi kalian yang membaca.
Jangan lupa komentar untuk saran, dan share ke teman agar saya lebih giat lagi dalam belajar dan sharing ilmu ini.
Sekian. Terima Kasih ~






Komentar
Posting Komentar