Saturday, November 7, 2020

UTS_Muhamad Rifki RIvaldi_181011400786

 Program Penyimpanan Uang Kas Menggunakan 2 Table


1. Pertama-tama buka XAMPP pada komputer > klik start pada Apache dan MySQL


2. Lalu buka Browser dan ketikan localhost/phpmyadmin/


3.  Lalu pilih New, buat database dengan nama "UTS_Penyimpanan_UangKas", dan klik create


4. Pilih database yang sudah dibuat, dan buat table baru dengan nama "UTS_DataDiri", buat kolom menjadi 4 dan klik kirim.


5. Isi column/field dengan nama "NIS, Nama, Kelas, No_Telepon", beri type data "BIGINT, Varchar, Varchar, Varchar", beri pajang/nilai pada type data "15, 50, 15, 15", dan isi index pada colomn pertama dengan "Primary Key", lalu klik Save.


6. Maka tampilan pada database seperti dibawah ini : 


7. Lalu buat table baru kembali, dengan cara mengklik "New" Pad database yang telah dibuat.

    Buat table baru dengan nama "UTS_Pembayaran", Lalu isi column/field dengan nama "Uang_Kas, Bayar, Kembalian, Minggu_Ke", beri type data "Int, Int, Int, Int", beri pajang/nilai pada type data "10, 10, 10, 1", lalu klik Save.


8. Jika sudah Maka tampilan pada database seperti dibawah ini : 


9.  Lalu buka NetBeans pada komputer > buat New Project.


10. Lalu pilih Java Application > Next > Lalu beri nama pada Project yang ingin kita buat. 


11. Lalu klik kanan pada source packages > pilih new > klik pada Java Packages > Beri nama pada pakages.



12. klik kanan pada Packages Name yang telah diberi nama > pilih New > Klik pada JFrame Form > Beri nama pada Jframe > Finish.


 13.  Masukkan menu "panel" kedalam Form kosong pada design.

14.  Lalu klik kanan > pilih Properties > Background > pilih warna yang diinginkan.

15.  Masukkan menu "Label" pada Form design > Klik kanan pada menu "Label" > pilih edit text dan ubah menjadi "Program Penyimpanan Uang Kas"

16. Masukkan 4 menu "Label" pada Form design > Klik kanan pada menu "Label" > pilih edit text dan ubah menjadi "NIS, Nama, Kelas, No Telepon"

17. Masukkan 4 menu "Text Field", pada Form design.

18.  Masukkan kembali 4 menu "Label" pada Form design > Klik kanan pada menu "Label" > pilih edit text dan ubah menjadi "Uang Kas, Bayar, Kembalian, Minggu Ke"

19.  Masukkan 3 menu "Text Field", dan 1 menu "ComboBox", pada Form design .

20. Masukkan 4 menu "Button" pada Form design > Klik kanan pada menu "Button" > pilih edit text dan ubah menjadi "SIMPAN, EDIT DATA, LIHAT, SEARCH"

21. Masukkan 2 menu "Table" pada Form design.

22. Klik kanan pada SEMUA menu "JTextField" > pilih Change Variable Name > lalu ubah satu persatu. kamu bisa mengikuti seperti dibawah ini.








23.  Klik kanan pada menu "ComboBox" > pilih Change Variable Name > Beri nama sesuai keinginan.

24. Klik kanan kembali pada menu "ComboBox" > Pilih Properties > Pilih model dan ubah menjadi "1, 2, 3, 4"


25. Setelah itu double klik pada selectedindex dan ubah menjadi "-1", maka secara otomatis selecteditem akan berubah menjadi "null"


26. Klik kanan pada menu JTable 1 dan 2 > pilih Change Variable Name > ubah sesuai keinginan saja.



27. Pergi ke Source, dan ketikan Source dibawah ini :

package UTS_Aplikasi_Penyimpanan_UangKas;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import java.awt.event.KeyEvent;
import javax.swing.table.DefaultTableModel;

28. ketikan Source dibawah ini :

public class UTS_Input_Data_UangKas extends javax.swing.JFrame {
private Connection con;
private Statement stat;
private ResultSet res;
private String t;
private DefaultTableModel dtm;
private DefaultTableModel dtm2;

29. ketikan Source dibawah ini : 

        public UTS_Input_Data_UangKas() {
        initComponents();
        koneksi();
        kosongkan();
        mingguke();
        table1();
        table2();
        
        Rifki_UangKas.setText("3000");
        Rifki_UangKas.setEnabled(false);
        
        //rata kiri dan kanan
        Dimension Screensize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        ( Screensize.width - frameSize.width) / 3,
        ( Screensize.height - frameSize.height) / 4);
    }

30.  ketikan Source dibawah ini :

private void koneksi() {
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/UTS_Penyimpanan_UangKas", "root", "");
stat=con.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}

31. ketikan Source dibawah ini :

private void kosongkan() {
Rifki_NIS.setText("");
Rifki_Nama.setText("");
Rifki_Kelas.setText("");
Rifki_NoTelepon.setText("");
Rifki_UangKas.setText("");
Rifki_Bayar.setText("");
Rifki_Kembalian.setText("");
Rifki_NIS.requestFocus();
Rifki_MingguKe.setSelectedIndex(-1);
}

32. ketikan Source dibawah ini :

private void mingguke() {
Rifki_MingguKe.addItem("1");
Rifki_MingguKe.addItem("2");
Rifki_MingguKe.addItem("3");
Rifki_MingguKe.addItem("4");
Rifki_MingguKe.setSelectedIndex(-1); 
}

33. ketikan Source dibawah ini :

private void table1() {
DefaultTableModel t= new DefaultTableModel();
t.addColumn("NIS");
t.addColumn("Nama");
t.addColumn("Kelas");
t.addColumn("No_Telepon");
Rifki_Table1.setModel(t); try{ res=stat.executeQuery("select * from UTS_DataDiri");
while (res.next()) {
t.addRow(new Object[]{ res.getString("NIS"),
res.getString("Nama"),
res.getString("Kelas"),
res.getString("No_Telepon")
});
}}
catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}

34. ketikan Source dibawah ini :

private void table2() {
DefaultTableModel t= new DefaultTableModel();
t.addColumn("Uang_Kas");
t.addColumn("Bayar");
t.addColumn("Kembalian");
t.addColumn("Minggu_Ke");
Rifki_Table2.setModel(t); try{ res=stat.executeQuery("select * from UTS_Pembayaran");
while (res.next()) {
t.addRow(new Object[]{ res.getString("Uang_Kas"),
res.getString("Bayar"),
res.getString("Kembalian"),
res.getString("Minggu_Ke")
});
}}
catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}

35. Pergi ke Form design > Klik kanan pada menu "JTextField6" > pilih Events > pilih Key > klik                 KeyReleased > lalu masukkan source code dibawah ini.

        private void Rifki_BayarKeyReleased(java.awt.event.KeyEvent evt) {                                        
        // TODO add your handling code here:
        int bayar = Integer.parseInt(Rifki_UangKas.getText());
        int bayar1 = Integer.parseInt(Rifki_Bayar.getText());
        double kembali = bayar1 - bayar;
        Rifki_Kembalian.setText(Double.toString(kembali));
    }


36. Kembali ke Form design > Klik kanan pada menu Button " SIMPAN" > pilih Events > pilih Action > klik actionPerfomed > lalu masukkan source code dibawah ini.

private void Rifki_SimpanActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        try {
        stat.executeUpdate("insert into UTS_DataDiri values ("
        + "'" + Rifki_NIS.getText()+"',"
        + "'" + Rifki_Nama.getText()+"',"
        + "'" + Rifki_Kelas.getText()+"',"
        + "'" + Rifki_NoTelepon.getText()+"')");

        JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
        } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Perintah Salah : "+e);
        }
        
        try {
        stat.executeUpdate("insert into UTS_Pembayaran values ("
        + "'" + Rifki_UangKas.getText()+"',"
        + "'" + Rifki_Bayar.getText()+"',"
        + "'" + Rifki_Kembalian.getText()+"',"
        +"'"+Rifki_MingguKe.getSelectedItem()+"')");

        JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
        } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Perintah Salah : "+e);
        }
        kosongkan();
    }


37. Kembali ke Form design > Klik kanan pada menu "JTextField1" > pilih Events > pilih Action > klik actionPerfomed > Lalu masukkan source code dibawah ini.

private void Rifki_NISActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        try {
    res=stat.executeQuery("select * from UTS_DataDiri where "+ "NIS='" +Rifki_NIS.getText()
    +"'" ); while (res.next())
    { Rifki_Nama.setText(res.getString("Nama"));
    Rifki_Kelas.setText(res.getString("Kelas"));
    Rifki_NoTelepon.setText(res.getString("No_Telepon"));
    }
    }
    catch (Exception e) {
    JOptionPane.showMessageDialog(rootPane, e);
    }
    
    try {
    res=stat.executeQuery("select * from UTS_Pembayaran where "+ "NIS='" +Rifki_UangKas.getText()
    +"'" ); while (res.next())
    { Rifki_UangKas.setText(res.getString("UangKas"));
    Rifki_Bayar.setText(res.getString("Bayar"));
    Rifki_Kembalian.setText(res.getString("Kembalian"));
    Rifki_MingguKe.setSelectedItem(res.getString("Minggu_Ke"));
    }
    }
    catch (Exception e) {
    JOptionPane.showMessageDialog(rootPane, e);
    }
    }


38. Kembali ke Form design > Klik kanan pada menu Button " EDIT DATA" > pilih Events > pilih Action > klik actionPerfomed > Lalu masukkan source code dibawah ini.

private void Rifki_EditDataActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
        int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",
        JOptionPane.YES_NO_OPTION);
        try
        {
        String sql="update UTS_DataDiri set NIS=?, Nama=?, Kelas=?, No_Telepon=? where NIS='"
        +Rifki_NIS.getText()+"'";
        PreparedStatement st=con.prepareStatement(sql);
        if(ok==0)
        {
        try
        {
        st.setString(1,Rifki_NIS.getText());
        st.setString(2,Rifki_Nama.getText());
        st.setString(3,Rifki_Kelas.getText());
        st.setString(4,Rifki_NoTelepon.getText());
        st.executeUpdate();
        JOptionPane.showMessageDialog(null,"Update Data Sukses");
        }catch (Exception e)
        {
        JOptionPane.showMessageDialog(null, "Update Data Gagal");
        }
        }
        }catch (Exception e){}
        
        try
        {
        String sql="update UTS_Pembayaran set Uang_Kas=?, Bayar=?, Kembalian=?, Minggu_Ke=? where Uang_Kas='"
        +Rifki_UangKas.getText()+"'";
        PreparedStatement st=con.prepareStatement(sql);
        if(ok==0)
        {
        try
        {
        st.setString(1,Rifki_UangKas.getText());
        st.setString(2,Rifki_Bayar.getText());
        st.setString(3,Rifki_Kembalian.getText());
        st.setString(4, (String) Rifki_MingguKe.getSelectedItem());
        st.executeUpdate();
        JOptionPane.showMessageDialog(null,"Update Data Sukses");
        }catch (Exception e)
        {
        JOptionPane.showMessageDialog(null, "Update Data Gagal");
        }
        }
        }catch (Exception e){}
    }



39.  Kembali ke Form design > Klik kanan pada menu " JTable1" > pilih Events > pilih Mouse > klik mouseclicked > lalu masukan source code dibawah ini.

private void Rifki_Table1MouseClicked(java.awt.event.MouseEvent evt) {                                          
        // TODO add your handling code here:
        int i = Rifki_Table1.getSelectedRow();
        if(i==-1){
        return;
        }
        String code = (String)Rifki_Table1.getValueAt(i,0);
        String code1 = (String)Rifki_Table1.getValueAt(i,1);
        String code2 = (String)Rifki_Table1.getValueAt(i,2);
        String code3 = (String)Rifki_Table1.getValueAt(i,3);
        Rifki_NIS.setText(code);
        Rifki_Nama.setText(code1);
        Rifki_Kelas.setText(code2);
        Rifki_NoTelepon.setText(code3);
    }


40. Kembali ke Form design > Klik kanan pada menu " JTable2" > pilih Events > pilih Mouse > klik mouseclicked > lalu masukkan source code dibawah ini.

private void Rifki_Table2MouseClicked(java.awt.event.MouseEvent evt) {                                          
        // TODO add your handling code here:
        int i = Rifki_Table1.getSelectedRow();
        if(i==-1){
        return;
        }
        String code = (String)Rifki_Table2.getValueAt(i,0);
        String code1 = (String)Rifki_Table2.getValueAt(i,1);
        String code2 = (String)Rifki_Table2.getValueAt(i,2);
        String code3 = (String)Rifki_Table2.getValueAt(i,3);
        Rifki_UangKas.setText(code);
        Rifki_Bayar.setText(code1);
        Rifki_Kembalian.setText(code2);
        Rifki_MingguKe.setSelectedItem(code3);
    }


41. Kembali ke Form design > Klik kanan pada menu Button " LIHAT" > pilih Events > pilih Action > klik actionPerfomed > lalu masukkan source code dibawah ini.

private void Rifki_LihatActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        try{
        Object [] rows={"NIS","Nama","Kelas","No_Telepon"};
        dtm=new DefaultTableModel(null,rows);
        Rifki_Table1.setModel(dtm);
        Rifki_Table1.setBorder(null);
        jScrollPane1.setVisible(true);
        jScrollPane1.setViewportView(Rifki_Table1);
        int no = 1;
        String NIS="",Nama="",Kelas="",No_Telepon="";
        try{
        String sql="select NIS, Nama, Kelas, No_Telepon from UTS_DataDiri";
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery(sql);
        while(rs.next()){
        NIS=rs.getString("NIS");
        Nama=rs.getString("Nama");
        Kelas=rs.getString("Kelas");
        No_Telepon=rs.getString("No_Telepon");
        String [] tampil={""+NIS,Nama,Kelas,No_Telepon};
        dtm.addRow(tampil);
        
        Object [] rows2={"Uang_Kas","Bayar","Kembalian","Minggu_Ke"};
        dtm2=new DefaultTableModel(null,rows2);
        Rifki_Table2.setModel(dtm2);
        Rifki_Table2.setBorder(null);
        jScrollPane2.setVisible(true);
        jScrollPane2.setViewportView(Rifki_Table2);
        int no2 = 1;
        String Uang_Kas="",Bayar="",Kembalian="",Minggu_Ke="";
        
        String sql2="select Uang_Kas, Bayar, Kembalian, Minggu_Ke from UTS_Pembayaran";
        Statement st2=con.createStatement();
        ResultSet rs2=st2.executeQuery(sql2);
        while(rs2.next()){
        Uang_Kas=rs2.getString("Uang_Kas");
        Bayar=rs2.getString("Bayar");
        Kembalian=rs2.getString("Kembalian");
        Minggu_Ke=rs2.getString("Minggu_Ke");
        String [] tampil2={""+Uang_Kas,Bayar,Kembalian,Minggu_Ke};
        dtm2.addRow(tampil2);
        
        }
        }
        }catch(SQLException e){
        e.printStackTrace();
        JOptionPane.showMessageDialog(null,"Query Salah "+e);
        }
        }catch(Exception e){
        e.printStackTrace();
        }
    }



42. Kembali ke Form design > Klik kanan pada menu Button " SEARCH" > pilih Events > pilih Action > klik actionPerfomed > lalu masukkan source code dibawah ini.

private void Rifki_SearchActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        try {
        res=stat.executeQuery("select * from UTS_DataDiri where "+ "NIS='" +Rifki_NIS.getText()
        +"'" ); while (res.next())
        { Rifki_Nama.setText(res.getString("Nama"));
        Rifki_Kelas.setText(res.getString("Kelas"));
        Rifki_NoTelepon.setText(res.getString("No_Telepon"));
        }
        }
        catch (Exception e) {
        JOptionPane.showMessageDialog(rootPane, e);
        }
        
        try {
        res=stat.executeQuery("select * from UTS_Pembayaran where "+ "Uang_Kas='" +Rifki_UangKas.getText()
        +"'" ); while (res.next())
        { Rifki_UangKas.setText(res.getString("Uang_Kas"));
        Rifki_Bayar.setText(res.getString("Bayar"));
        Rifki_Kembalian.setText(res.getString("Kembalian"));
        Rifki_MingguKe.setSelectedItem(res.getString("Minggu_Ke"));
        }
        }
        catch (Exception e) {
        JOptionPane.showMessageDialog(rootPane, e);
        }
    }


43. Pergi ke Form design > Klik kanan pada Libraries > pilih Add JAR/Folder.

44. Pilih Mysql connector, selanjutnya pilih Relative Path.

45. Maka hasilnya seperti ini : 

46. Run File, klik kanan pada Class "UTS_Input_Data_Uangkas" 

47. Maka hasilnya seperti dibawah ini :

48. Input data yang ingin dimasukkan kedalam database, lalu klik Simpan.

49. Setelah mengklik Simpan maka terdapat pesan seperti dibawah ini :

50. Setelah data tersimpan didalam database, maka jika ingin menampilkan data pada table, harus mengklik Lihat.

51. dibawah ini gambar data berhasil tersimpan didalam database.


52.Jika ingin melihat apakah perintah mouseclicked berjalan, caranya adalah mengklik pada data yang ada didalam Table, maka data tersebut akan ditampilkan pada JTextField.

53. Jika ingin mengedit data yang telah dimasukkan kedalam database, caranya adalah klik pada data yang ingin di ubah, lalu ubah data sesuai yang diinginkan >  Lalu klik pada button Edit Data.


54. Setelah mengklik button Edit Data, maka akan muncul massage Seperti dibawah ini :


55. Jika memilih Yes, maka akan muncul massage "Update Data Sukses,", Seperti dibawah ini :


56. Setelah berhasil di Edit Data, maka hasilnya seperti dibawah ini :

57. Jika ingin mencari data yang ada didalam Table, maka cukup ketikan Kode dan mengklik button Search, maka data yang dicari akan muncul.



Terimakasih.

No comments:

Post a Comment

Muhamad Rifki Rivaldi_181011400786_Pertemuan Ke 16 dan 17

 Cara Membuat Managemen User untuk Menambahkan dan Menghapus User yang yang dapat Login kedalam Aplikasi Program Penyimpanan Uang Kas Menggu...