Tuesday, July 7, 2020

Supidan Zamzam - Postingan Pertemuan 16-18 ( Program Database Buku Telepon )

Pada Pertemuan kali ini kita akan membuat program Database buku telepon.

Buat Databasenya terlebih dahulu.

Buka XAMPP dan aktifkan Apache dan MySQL


Kemudian Buka Browser yang anda gunakan, kemudian Ketik localhost/phpmyadmin


Kemudian buat database.


Jika Sudah Buat tabel didatabase yang telah dibuat tadi.


Buat isi tabel seperti berikut :



Selanjutnya Buat Project, Pilih File -> New Project.


Pilih Java -> Java Aplication. kemudian Next.


Kemudian tentukan nama project anda, dan Unceklis pada Create Main Class karena kita akan menggunakan JFrame Form.

Buat JFrame Input Data Kontak, Klik Kanan pada nama project yang sudah dibuat tadi -> Pilih New -> Pilih JFrame Form.


Tentukan Nama JFrame Form dan Nama Package seperti berikut :


Dan JFrame baru akan muncul, Langkah selanjutnya Design JFrame Form seperti gambar dibawah ini.


Selanjutnya, Ubah nama Variabel TextField, Button, ComboBox dan Tabel seperti Berikut :
Klik Kanan Pada object -> Pilih Change Variabel.


JTextField1 menjadi InputIdKontak_supidanZamzam
JTextField2 menjadi InputNamaKontak_supidanZamzam
JTextField3 menjadi InputNoKontak_supidanZamzam
JTextField4 menjadi InputAlamatKontak_supidanZamzam
JComboBox1 menjadi InputStatus_supidanZamzam
JTable1 menjadi Table_supidanZamzam
JButton1 menjadi SimpanButton
JButton2 menjadi RefreshButton
JButton3 menjadi HapusButton
JButton4 menjadi LihatButton
JButton5 menjadi SearchButton
JButton6 menjadi ExitButton
JButton7 menjadi ClearButton
JButton8 menjadi EditButton

Sehingga Nama variabelnya seperti dibawah ini.


Tambahkan File Koneksi agar terhubung kedalam database, Klik Kanan pada Libraries -> add Library


Pilih MySQL JDBC Driver -> Add Library.



Selanjutnya, Masukan Scrip Variabel dan Import java yang diperlukan. Pilih Source kemudian masukan Scrip Berikut Seperti gambar dibawah ini.

Import yang Diperlukan :

    import java.awt.*;
    import java.sql.*;
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;

Variabel Koneksi :

    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;
    private String t_supidanZamzam;
    private DefaultTableModel dtm_supidanZamzam;

Fungsi yang akan digunakan :

    koneksi_supidanZamzam();
    kosongkan_supidanZamzam();
    status_supidanZamzam();
    tabel_supidanZamzam();


Tambahkan Scrip Berikut untuk mengatur ukuran Tampilan layar dan Scrip Fungsi Koneksi.

Scrip Mengatur Ukuran Layar :

    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = getSize();
    setLocation(
    (screenSize.width - frameSize.width) / 3,
    (screenSize.height - frameSize.height) / 4);

Scrip Fungis Koneksi untuk menghubungkan dengan database.

private void koneksi_supidanZamzam(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://127.0.0.1/database_kontak", "root", "");
            stat_supidanZamzam = con_supidanZamzam.createStatement();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
}

Scrip Fungsi kosongkan :

private void kosongkan_supidanZamzam(){
    inputIdKontak_supidanZamzam.setText("");
    inputNamaKontak_supidanZamzam.setText("");
    inputNoKontak_supidanZamzam.setText("");
    inputAlamatKontak_supidanZamzam.setText("");
    inputIdKontak_supidanZamzam.requestFocus();
    inputStatus_supidanZamzam.setSelectedIndex(-1);
}

Masukan Scrip untuk Fungsi Status dan Tabel ;

Scrip Fungsi Status 
private void status_supidanZamzam(){
        inputStatus_supidanZamzam.addItem("Keluarga");
        inputStatus_supidanZamzam.addItem("Teman");
        inputStatus_supidanZamzam.addItem("Kenalan");
        inputStatus_supidanZamzam.addItem("Rekan Kerja");
        inputStatus_supidanZamzam.setSelectedIndex(-1);
    }

Scrip Fungsi tabel :
private void tabel_supidanZamzam(){
        DefaultTableModel t = new DefaultTableModel();
        t.addColumn("Id");
        t.addColumn("Nama");
        t.addColumn("No Kontak");
        t.addColumn("Alamat");
        t.addColumn("Status");
        
        Table_supidanZamzam.setModel(t);
        try{
            res_supidanZamzam = stat_supidanZamzam.executeQuery("select * from data_kontak");
            while(res_supidanZamzam.next()){
                t.addRow(new Object[]{
                    res_supidanZamzam.getString("id_kontak"),
                    res_supidanZamzam.getString("nama_kontak"),
                    res_supidanZamzam.getString("no_kontak"),
                    res_supidanZamzam.getString("alamat"),
                    res_supidanZamzam.getString("status")
                });
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, e);
        }
    }


Masukan Scrip untuk Simpan Button :

try{
     stat_supidanZamzam.executeUpdate("insert into data_kontak values ("
     + "'" + inputIdKontak_supidanZamzam.getText() + "',"
     + "'" + inputNamaKontak_supidanZamzam.getText() + "',"
     + "'" + inputNoKontak_supidanZamzam.getText() + "',"
     + "'" + inputAlamatKontak_supidanZamzam.getText() + "',"
    + "'" + inputStatus_supidanZamzam.getSelectedItem() + "')");
     kosongkan_supidanZamzam();
      JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
   }catch(Exception e){
        JOptionPane.showMessageDialog(null, "Perintah Salah : " + e);
 }


Masukan Scrip untuk Text Field Input Kontak Dan Refresh Button.

Scrip Text Field InputIdKontak :
try{
   res_supidanZamzam = stat_supidanZamzam.executeQuery("select * from data_kontak where " + 
  "id_kontak='" + inputIdKontak_supidanZamzam.getText() + "'"); 
       while (res_supidanZamzam.next()){
         inputNamaKontak_supidanZamzam.setText(res_supidanZamzam.getString("nama_kontak"));
         inputNoKontak_supidanZamzam.setText(res_supidanZamzam.getString("no_kontak"));
         inputAlamatKontak_supidanZamzam.setText(res_supidanZamzam.getString("alamat"));
         inputStatus_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("status"));
       }
   }catch(Exception e){
         JOptionPane.showMessageDialog(rootPane, e);
}

Scrip Refresh Button :
        new Input_Data_Kontak().setVisible(true);
        dispose();



Masukan Scrip Untuk Hapus Button :
int ok_supidanZamzam = JOptionPane.showConfirmDialog(null, "Apakah Yakin Mendelete record ini ??", 
            "Confirmation", JOptionPane.YES_NO_CANCEL_OPTION);
     if(ok_supidanZamzam == 0){
        try{
            String sql_supidanZamzam = "delete from data_kontak where id_kontak='" 
            + inputIdKontak_supidanZamzam.getText() + "'";
            PreparedStatement st_supidanZamzam = con_supidanZamzam.prepareStatement(sql_supidanZamzam);
            st_supidanZamzam.executeUpdate();
                JOptionPane.showMessageDialog(null, "Delete Data Sukses");
           }catch (Exception e){
                JOptionPane.showMessageDialog(null, "Delete Data Gagal");
      }
   }


Masukan Scrip untuk Lihat Button :

try{
    Object[]rows = { "Id", "Nama", "No Kontak", "Alamat", "Status"};
     dtm_supidanZamzam = new DefaultTableModel(null, rows);
    Table_supidanZamzam.setModel(dtm_supidanZamzam);
     Table_supidanZamzam.setBorder(null);
     jScrollPane1.setVisible(true);
     jScrollPane1.setViewportView(Table_supidanZamzam);
       int no_supidanZamzam =1;
     String id_kontak_supidanZamzam="",nama_kontak_supidanZamzam="",no_kontak_supidanZamzam="",
          alamat_supidanZamzam="",status_supidanZamzam="";
      try{
           String sql_supidanZamzam = "select *from data_kontak";
           Statement st_supidanZamzam = con_supidanZamzam.createStatement();
           ResultSet rs_supidanZamzam = st_supidanZamzam.executeQuery(sql_supidanZamzam);
                    while(rs_supidanZamzam.next()){
                        id_kontak_supidanZamzam=rs_supidanZamzam.getString("id_kontak");
                        nama_kontak_supidanZamzam=rs_supidanZamzam.getString("nama_kontak");
                        no_kontak_supidanZamzam=rs_supidanZamzam.getString("no_kontak");
                        alamat_supidanZamzam=rs_supidanZamzam.getString("alamat");
                        status_supidanZamzam=rs_supidanZamzam.getString("status");
                        
                        String[] tampil={ "" + id_kontak_supidanZamzam,nama_kontak_supidanZamzam,
                            no_kontak_supidanZamzam,alamat_supidanZamzam,status_supidanZamzam};
                        dtm_supidanZamzam.addRow(tampil);
                    }
            }catch(Exception e){
                e.printStackTrace();
                JOptionPane.showMessageDialog(null, "Query Salah" + e);
            }
        }catch(Exception e){
            e.printStackTrace();
        }


Masukan Scrip untuk Table, Klik Kanan pada JTable Events -> Mouse -> mouseClicked

int i_supidanZamzam = Table_supidanZamzam.getSelectedRow();
        if(i_supidanZamzam == 1){
            return;
        }
        String code_supidanZamzam = (String)Table_supidanZamzam.getValueAt(i_supidanZamzam,0);
        String code1_supidanZamzam = (String)Table_supidanZamzam.getValueAt(i_supidanZamzam,1);
        String code2_supidanZamzam = (String)Table_supidanZamzam.getValueAt(i_supidanZamzam,2);
        String code3_supidanZamzam = (String)Table_supidanZamzam.getValueAt(i_supidanZamzam,3);
        String code4_supidanZamzam = (String)Table_supidanZamzam.getValueAt(i_supidanZamzam,4);
        
        inputIdKontak_supidanZamzam.setText(code_supidanZamzam);
        inputNamaKontak_supidanZamzam.setText(code1_supidanZamzam);
        inputNoKontak_supidanZamzam.setText(code2_supidanZamzam);
        inputAlamatKontak_supidanZamzam.setText(code3_supidanZamzam);
        inputStatus_supidanZamzam.setSelectedItem(code4_supidanZamzam);  



Masukan Scrip untuk Search Button :

try{
    res_supidanZamzam = stat_supidanZamzam.executeQuery("select * from data_kontak where " + "id_kontak='" 
          + inputIdKontak_supidanZamzam.getText()+"'");
            while(res_supidanZamzam.next()){
                inputNamaKontak_supidanZamzam.setText(res_supidanZamzam.getString("nama_kontak"));
                inputNoKontak_supidanZamzam.setText(res_supidanZamzam.getString("no_kontak"));
                inputAlamatKontak_supidanZamzam.setText(res_supidanZamzam.getString("alamat"));
                inputStatus_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("status"));
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, e);
        }

Masukan Scrip untuk EditButton :

int ok_supidanZamzam = JOptionPane.showConfirmDialog(null, "Apakah Yakin Untuk Update Record Ini ??", "Confirmation",
                JOptionPane.YES_NO_CANCEL_OPTION);
        try{
           String sql_supidanZamzam = "update data_kontak set id_kontak=?,nama_kontak=?,no_kontak=?,alamat=?,status=? where id_kontak='"+
                   inputIdKontak_supidanZamzam.getText()+"'";
            PreparedStatement st_supidanZamzam = con_supidanZamzam.prepareStatement(sql_supidanZamzam);
            if(ok_supidanZamzam == 0){
                try{
                    st_supidanZamzam.setString(1, inputIdKontak_supidanZamzam.getText());
                    st_supidanZamzam.setString(2, inputNamaKontak_supidanZamzam.getText());
                    st_supidanZamzam.setString(3, inputNoKontak_supidanZamzam.getText());
                    st_supidanZamzam.setString(4, inputAlamatKontak_supidanZamzam.getText());
                    st_supidanZamzam.setString(5, (String)inputStatus_supidanZamzam.getSelectedItem());
                    st_supidanZamzam.executeUpdate();
                    
                    JOptionPane.showMessageDialog(null, "Update Data Sukses");
                }catch(Exception e){
                    JOptionPane.showMessageDialog(null, "Update Data Gagal");
                }
            }
        }catch(Exception e){}



Masukan Scrip untuk Clear dan Exit Button :

Scrip ClearButton

        inputIdKontak_supidanZamzam.setText("");
        inputNamaKontak_supidanZamzam.setText("");
        inputNoKontak_supidanZamzam.setText("");
        inputAlamatKontak_supidanZamzam.setText("");
        inputIdKontak_supidanZamzam.requestFocus();
        inputStatus_supidanZamzam.setSelectedIndex(-1);

Scrip ExitButton

int ok_supidanZamzam = JOptionPane.showConfirmDialog(null, "Apakan Anda Ingin Exit", "Confirmation", 
                JOptionPane.YES_NO_OPTION);
        if(ok_supidanZamzam == 0){
            System.exit(0);
        }


Jika Sudah Semua Jalankan Programnya dengan Klik Kanan Pada file JFrame Form Input Data Kontak -> Run.




Selesai.......

No comments:

Post a Comment

Kumpulan Program Java Console ( CLI )

 Selamat datang  Kali ini saya akan membagikan kumpulan program java sederhana berbasis console ( CLI ) Link Program : Klik Disini ( Google ...