0

Ketemu lagi gan sama ane,heee
Dsni ane mw lnjutn info yg ane share sblmny,cm dcne ad sdkt tmbhn.Jika yg sblmny cm login brdsarkan database, ckrg ane tmbhn fitur bwt nampilin table brdsarkan databae td dan jga kali ini ane pke form...
Drpada lama,mndingan ane lngsung aja kali yach.....

Step by step:
1) Pertama akan tampil form Login dimana 'Nama' berdasarkan 'Kolom Nama' dan 'Password' berdasarkan 'Kolom Password'  pada database yang ane buat. Frame ini ane beri nama 'ClsLogin'.
    


- Ini  ane kasih gambar databasenya biar gak bingung




2) Setelah login berdasarkan database berhasil, maka akan muncul frame baru seperti ini. Frame ini ane beri nama 'ClsMenu'.
    

   Jika ane klik menu FILE maka akan muncul beberapa submenu seperti ini.



3) Jika kita pilih NEW maka akan keluar internal frame yang ane kasih nama 'Internal' dalam frame 'ClsMenu' tadi.


                                 Gambar ClsMenu
   
    

                               Gambar Internal


4) Dan jika ane pilih Table Database, maka akan tampil  frame baru yang ane beri nama 'ClsTable'.             Frame ini menampilkan tabel yang berisi rekord berdasarkan database yang ane buat di atas.

 
                                      Gambar ClsMenu


     
                                         Gambar ClsTable


     <Source Code>
   
     a) ClsMain
import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;

public class ClsMain
{
public static ClsLogin Frame1 = new ClsLogin();
public static ClsMenu Frame2 = new ClsMenu();
public static ClsTable Frame3 = new ClsTable();
public static JPanel Panel1 = new JPanel();
public static JPanel Panel2 = new JPanel();
public static JLabel Label1 = new JLabel();
public static JLabel Label2 = new JLabel();
public static JTextField Field1 = new JTextField();
public static JPasswordField Field2 = new JPasswordField();
public static JButton Button1 = new JButton();
public static JButton Button2 = new JButton();
public static JInternalFrame Internal = new JInternalFrame();
public static JDesktopPane DP = new JDesktopPane();

public static void main(String[] args)
{
JMenuItem M1 = new JMenuItem();
JMenuItem M2 = new JMenuItem();
JMenuItem M3 = new JMenuItem();
JMenuItem M4 = new JMenuItem();
JMenuItem M5 = new JMenuItem();
JMenuItem M6 = new JMenuItem();
JMenuItem M7 = new JMenuItem();
JMenuItem M8 = new JMenuItem();

JMenu File = new JMenu("File");
JMenu File2 = new JMenu("Edit");

Frame1.setLocation(500,200);
Label1.setText("Nama");
Label2.setText("Password");
Label1.setBounds(10, 30, 90,20);
Label2.setBounds(10, 60, 90,20);
Field1.setBounds(80, 30, 120,20);
Field2.setBounds(80, 60, 120,20);
Button1.setText("Sign In");
Button2.setText("Login");
Button1.setBounds(150, 130, 75,20);
Button2.setBounds(90, 90, 70, 20);

Panel1.setBackground(Color.red);
Panel1.setLayout(null);
Panel1.setBackground(Color.cyan);
Panel1.add(Label1);
Panel1.add(Label2);
Panel1.add(Field1);
Panel1.add(Button2);
Panel1.add(Field2);
Frame1.add(Panel1);

Panel2.setLayout(null);
Panel2.setBackground(Color.green);
Frame2.add(Panel2);
Frame2.add(DP);

File.add(M1);
File.add(M2);
File.add(M3);
File.add(M4);

M1.setText("New");
M2.setText("Table Database");
M3.setText("Close");
M4.setText("Exit");

File2.add(M5);
File2.add(M6);
File2.add(M7);
File2.add(M8);

M5.setText("Undo");
M6.setText("Redo");
M7.setText("Copy");
M8.setText("Paste");

JMenuBar MB = new JMenuBar();
MB.add(File);
MB.add(File2);
Frame2.setJMenuBar(MB);

Button1.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
JOptionPane.showMessageDialog(null,"Silahkan Login");
Frame1.setVisible(true);
}
});

Button2.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
try
{
//INSTALL JDBC DRIVER
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//KONEKSI KE DRIVER ODBC (DATABASE)
Connection CN = DriverManager.getConnection("jdbc:odbc:pbodb");

//MENCIPTAKAN STATEMENT
Statement ST = CN.createStatement();

//MEMBUAT QUERY
//ResultSet RS = ST.executeQuery("select * from TbMahasiswa where Nama ='"+ nama +"' Password = '"+ pass +"'");
@SuppressWarnings("deprecation")
ResultSet RS = ST.executeQuery("select * from TbMahasiswa where Nama ='"+ (String)Field1.getText() +"'"+
"and Password = '"+ Field2.getText().toString()+"'");

int baris = 0;
while (RS.next())
{
baris++;
}
if(baris==1)
{
JOptionPane.showMessageDialog(null,"Selamat Datang,"+ Field1.getText());
Frame1.setVisible(false);
Frame2.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null,"Username atau Password Anda Salah");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
});

M1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
Internal.setVisible(true);
Internal.setBounds(0,0,800,500);
Internal.setTitle("Internal");
Internal.setMaximizable(true);
Internal.setResizable(true);
Internal.setIconifiable(true);
Internal.setClosable(true);
DP.add(Internal);
}
});

M2.addActionListener(
new ActionListener()
{

public void actionPerformed(ActionEvent arg0)
{
Frame3.setVisible(true);
}
}
);

M3.addActionListener(
new ActionListener()
{

public void actionPerformed(ActionEvent arg0)
{
Internal.setVisible(false);
Frame3.setVisible(false);
}
}

);

M4.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
JOptionPane.showMessageDialog(null,"Terima Kasih");
System.exit(1);
}
}
);

}
}
          
     b) ClsLogin
import javax.swing.JFrame;
public class ClsLogin extends JFrame
{
private static final long serialVersionUID = 1L;
public ClsLogin()
{
setVisible(true);
setSize(300,200);
setTitle("Login");
setLocation(500,200);
}
}

      c) ClsMenu
import javax.swing.JFrame;
public class ClsMenu extends JFrame
{
private static final long serialVersionUID = 1L;
public ClsMenu()
{
setBounds(400,200,600,400);
setTitle("Menu");
}
}

       d) ClsTable
import java.awt.BorderLayout;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class ClsTable  extends JFrame
{
private static final long serialVersionUID = 1L;
private JTable tb;
public ClsTable()
{
setSize(500,400);
setTitle("TABLE");
setLocation(500,200);
tb = new JTable(getTableModel());
JScrollPane scrollpane = new JScrollPane(tb);
this.getContentPane().add(scrollpane, BorderLayout.CENTER);
}
private DefaultTableModel getTableModel() {
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:pbodb";
String query = "Select * from TBMahasiswa";
final Object[] columnNames = new String[]{"NPM","Nama","Password","Jurusan"};
DefaultTableModel rs = new DefaultTableModel(columnNames, 20);
try {
Class.forName(driver);
Connection cn = DriverManager.getConnection(url);
Statement st = cn.createStatement();
ResultSet rst = st.executeQuery(query);
int i = 0;
while (rst.next()) {
rs.setValueAt(rst.getString("NPM"), i, 0);
rs.setValueAt(rst.getString("Nama"), i, 1);
rs.setValueAt(rst.getString("Password"), i, 2);
rs.setValueAt(rst.getString("Jurusan"), i, 3);
i = i + 1;
}
} catch(Exception e) {
}
return rs;
}
}


INGAT !!!!
Sebelum membuat coding di atas harus atur dulu Data Source (ODBC), jika tidak maka tidak akan jalan dan muncul banyak kesalahan. Jadi,jangan lupa yach.......

Bagi yang kurang paham, silahkan bongkar ne.
Ane kasih projectnya....

0 komentar: