Pertemuan 16

Membuat Aplikasi Database Buku Telepon


Persiapan

1. Instal Netbean

2. Instal Xampp


1. Input Data Kontak


Buka Xampp yg sudah terinstal

klik start pada Mysql dan Apache



Kemudian buka browser dan ketikkan http://localhost/phpmyadmin



Buat databasenya dengan nama database_kontak,  klik langsung menu dataabase atau klik New




Masukkan database kontak



Masukkan Nama : id_kontak, nama_kontak, no_kontak, alamat 

Jenis : Int, Varchar, Varchar, Varchar 

Khusus untuk id_kontak indeks diisi dengan Primary kemudian SIMPAN





Buka Netbeans dan buat Projek dengan nama "AriefNuurHidayat_pertemuan16" Lalu buat Package dengan nama "aplikasi_buku_telepon" dan buat Jframeform dengan nama "input_data_kontak"



Buat Design seperti ini

Ubah Variabel setiap textfield dengan klik kanan TextField > Change Variable 

Textfield1 = id_kontakTextField 

Textfield2 = nama_kontakTextField 

Textfield3 = no_kontakTextField 

Textfield1 = alamat_TextField



Buka source, masukan script berikut pada class

private Connection con; 

private Statement stat; 

private ResultSet res; 

private String t;

Note(Add import yang bertanda seru merah, dengan cara klik bagian bertanda merah, lalu add import)

koneksi(); 

kosongkan(); 

status(); 

//rata kanan kiri 

Dimension screenSize =          Toolkit.getDefaultToolkit().getScreenSize(); 

Dimension frameSize = getSize(); 

setLocation( 

(screenSize.width - frameSize.width)/3, 

(screenSize.height - frameSize.height)/4);



Masukkan  ini

private void koneksi(){ 

try{ 

Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:Mysql://127.0.0.1/database_kontak", 

"root",""); 

stat=con.createStatement(); 

} catch(Exception e){ 

JOptionPane.showMessageDialog(null, e); 

} } 

Dan

private void kosongkan() 

id_kontakTextField_arief.setText(""); 

nama_kontakTextField_arief.setText(""); 

no_kontakTextField_arief.setText(""); 

alamat_TextField_arief.setText("");

statusComboBox_arief.setSelectedIndex(-1); 

}



Pada Button Simpan beri Action dengan Klik kanan button simpan >events>action>action performed, Lalu tulis script berikut 

try { 

stat.executeUpdate("insert into data_kontak values (" 

+ "'" + id_kontakTextField.getText()+"'," 

+ "'" + nama_kontakTextField.getText()+"'," 

+ "'" + no_kontakTextField.getText()+"'," 

+ "'" + alamat_TextField.getText()+"')"); kosongkan(); 

JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data"); 

} catch (Exception e) { 

JOptionPane.showMessageDialog(null, "Perintah Salah : "+e); 

}




Beri action pada Textfied Id Kontak, klik kanan textfield > events>action>action performed

try { 

res=stat.executeQuery("select * from data_Kontak where "+ "id_Kontak='" +id_kontakTextField.getText() 

+"'" ); while (res.next()) 

{ nama_kontakTextField_arief.setText(res.getString("nama_kontak")); no_kontakTextField_arief.setText(res.getString("no_kontak")); alamat_TextField_arief.setText(res.getString("alamat")); 

}

 } 

catch (Exception e) 

{ JOptionPane.showMessageDialog(rootPane, e);

 }



Tambahkan Mysql jdbc driver. klik kanan pada libraries > pilih add library > pilih Mysqql jdbc driver > Add library


Lalu Run



Data akan tersimpan pada database yang sudah kita buat di Xampp tadi



Sekarang kita akan menambahkan COMBOBOX


Klik kanan pada Combobox > Properties> pada bagian Model> klik pada bagian [...]


Masukkan isi seperti ini



Masuk ke source tambahkan pada public status();



Masukkan seperti berikut ini

private void status() 

statusComboBox.addItem("Keluarga");

 statusComboBox.addItem("Teman");

 statusComboBox.addItem("Kenalan"); 

statusComboBox.addItem("Rekan Kerja"); 

statusComboBox.setSelectedIndex(-1); 

}



Pada actionbutton dan actiontextfield tambahkan script berikut



Pada Xampp database kita tambahkan baris status


Run program di Netbeans



2. Lihat Data Kontak


Buat Jframe form dengan nama "lihat_data_kontak" lalu buat Design seperti ini

Klik kanan pada tabel > Klik Change Variabel > ubah dengan nama Table



Masuk ke source dan ketikkan script ini

Pada class 

private Connection con; 

private Statement stat; 

private ResultSet res; 

(ada private void jangan lupa untuk klik dan add import.) 

Pada public 

koneksi(); 

tabel();

 //rata kiri kanan 

Dimension screenSize = 

Toolkit.getDefaultToolkit().getScreenSize(); 

Dimension frameSize = getSize(); 

setLocation( 

(screenSize.width - frameSize.width)/2, 

(screenSize.height - frameSize.height)/3); 

}



Tambahkan script private koneksi dan private tabel

Koneksi 

private void koneksi(){ 

    try

    {

    Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection

    ("jdbc:mysql://127.0.0.1/database_kontak", "root", "");

    stat=con.createStatement();

    } catch (Exception e) {

    JOptionPane.showMessageDialog(null, e);

    }


Tabel 

private void tabel(){

    DefaultTableModel t= new DefaultTableModel();

    t.addColumn("Id");

    t.addColumn("Nama");

    t.addColumn("No Kontak");

    t.addColumn("Alamat");

    t.addColumn("Status");

    Table.setModel(t); 

    try{ res=stat.executeQuery("select * from data_kontak");

    while (res.next()) {

    t.addRow(new Object[]{ res.getString("id_kontak"),

    res.getString("nama_kontak"),

    res.getString("no_kontak"),

    res.getString("alamat"),

    res.getString("status")

    });

    }

    }catch (Exception e) {

    JOptionPane.showMessageDialog(rootPane, e);

    }

    }

Lalu RUN



3. Mengabungkan Lihat Kontak dan Input Kontak


Buat Jframe Form dengan nama "input_data_bukutelepon

Buat Design seperti ini



Pada class

private Connection con;

    private Statement stat;

    private ResultSet res;

    private String ta;

    private DefaultTableModel dtm;


Pada public

koneksi();

        kosongkan();

        status();

        tabel();

         

        //rata kanan kiri

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

        Dimension frameSize = getSize();

        setLocation(

        (screenSize.width - frameSize.width)/3,

        (screenSize.height - frameSize.height)/4);





Tulis source untuk koneksi() , kosongkan(), dan status()

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

Kosongkan 
private void kosongkan()
    {
        id_kontakTextField.setText("");
        nama_kontakTextField.setText("");
        no_kontakTextField.setText("");
        alamat_TextField.setText("");
        statusComboBox.setSelectedIndex(-1);
    }

Status
private void status()
    {
      statusComboBox.addItem("Keluarga");
      statusComboBox.addItem("Teman");
      statusComboBox.addItem("Kenalan");
      statusComboBox.addItem("Rekan Kerja");
      statusComboBox.setSelectedIndex(-1);
    }



Source untuk tabel()
private void tabel(){
    DefaultTableModel ta= new DefaultTableModel();
    ta.addColumn("Id");
    ta.addColumn("Nama");
    ta.addColumn("No Kontak");
    ta.addColumn("Alamat");
    ta.addColumn("Status");
    Table.setModel(ta); 
    try{ res=stat.executeQuery("select * from data_kontak");
    while (res.next()) {
    ta.addRow(new Object[]{ res.getString("id_kontak"),
    res.getString("nama_kontak"),
    res.getString("no_kontak"),
    res.getString("alamat"),
    res.getString("status")
    });
    }
    }catch (Exception e) {
    JOptionPane.showMessageDialog(rootPane, e);
    }
    }




Klik kanan button simpan > events>action>action performed, lalu ketik source berikut
try {
    stat.executeUpdate("insert into data_kontak values ("
    + "'" + id_kontakTextField.getText()+"',"
    + "'" + nama_kontakTextField.getText()+"',"
    + "'" + no_kontakTextField.getText()+"',"
    + "'" + alamat_TextField.getText()+ "',"
    + "'" + statusComboBox.getSelectedItem()+ "')");
    kosongkan();
    JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
    } catch (Exception e) {
    JOptionPane.showMessageDialog(null, "Perintah Salah : "+e);
    }




Klik kanan pada textfield id kontak > Events > action> action performed.
try {
    res=stat.executeQuery("select * from data_Kontak where "+ "id_Kontak='" 
    +id_kontakTextField.getText()
    +"'" ); while (res.next())
    { nama_kontakTextField.setText(res.getString("nama_kontak"));
    no_kontakTextField.setText(res.getString("no_kontak"));
    alamat_TextField.setText(res.getString("alamat"));
    statusComboBox.setSelectedItem(res.getString("status"));
    }
    }
    catch (Exception e) {
    JOptionPane.showMessageDialog(rootPane, e);
    }



Klik kanan button refresh>events>action>actionperformed
new input_data_bukutelepon().setVisible(true);
        dispose();



Run






4. Menambahkan tombol tambahan pada Buku Telepon


Buka JFrame input_data_bukutelepon.java minggu lalu, tambahkan design tombol seperti berikut ini





Klik kanan pada tombol Hapus > Event > Action > actionPerformed lalu masukkan source berikut

int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Mendelete record ini???",
    "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION);
    if (ok==0)
    {
    try
    {
    String sql="delete from data_kontak where id_kontak='"+id_kontakTextField.getText()+"'";
    PreparedStatement st=con.prepareStatement(sql);
    st.executeUpdate();
    JOptionPane.showMessageDialog(null, "Delete Data Sukses");
    }
    catch (Exception e)
    {
    JOptionPane.showMessageDialog(null, "Delete Data Gagal");
    }
    }




Klik kanan pada tombol Lihat> Event > Action > actionPerformed lalu masukkan source berikut

try{
    Object [] rows={"Id","Nama ","No Kontak","Alamat","Status"};
    dtm=new DefaultTableModel(null,rows);
    table.setModel(dtm);
    table.setBorder(null);
    jScrollPane1.setVisible(true);
    jScrollPane1.setViewportView(table);
    int no = 1;
    String id_kontak="",nama_kontak="",no_kontak="",alamat="",status="";
    try{
    String sql="select * from data_kontak";
    Statement st=con.createStatement();
    ResultSet rs=st.executeQuery(sql);
    while(rs.next()){
    id_kontak=rs.getString("id_kontak");
    nama_kontak=rs.getString("nama_kontak");
    no_kontak=rs.getString("no_kontak");
    alamat=rs.getString("Alamat");
    status=rs.getString("status");
    String [] tampil={""+id_kontak,nama_kontak,no_kontak,alamat,status};
    dtm.addRow(tampil);
    }





Klik kanan pada tombol Table> Event > Mouse> mouseClicked




Isi seperti ini

int i = table.getSelectedRow();
    if(i==-1){
    return;
    }
    String code = (String)table.getValueAt(i,0);
    String code1 = (String)table.getValueAt(i,1);
    String code2 = (String)table.getValueAt(i,2);
    String code3 = (String)table.getValueAt(i,3);
    String code4 = (String)table.getValueAt(i,4);
    id_kontakTextField.setText(code);
    nama_kontakTextField.setText(code1);
    no_kontakTextField.setText(code2);
    alamat_TextField.setText(code3);
    statusComboBox.setSelectedItem(code4);
    }  




Klik kanan pada tombol Search> Event > Action > actionPerformed lalu masukkan source berikut

try {
    res=stat.executeQuery("select * from data_kontak where "+ "id_kontak='" +id_kontakTextField.getText()
    +"'" ); while (res.next())
    { nama_kontakTextField.setText(res.getString("nama_kontak"));
    no_kontakTextField.setText(res.getString("no_kontak"));
    alamat_TextField.setText(res.getString("alamat"));
    statusComboBox.setSelectedItem(res.getString("status"));
    }
    }
    catch(Exception e) {
        JOptionPane.showMessageDialog(rootPane, e);
    }
    }



Klik kanan pada tombol Exit> Event > Action > actionPerformed lalu masukkan source berikut

JOptionPane.showMessageDialog(null,"Anda Exit");
       System.exit(0);




Klik kanan pada tombol Clear> Event > Action > actionPerformed lalu masukkan source berikut

id_kontakTextField.setText("");
        nama_kontakTextField.setText("");
        no_kontakTextField.setText("");
        alamat_TextField.setText("");
        statusComboBox.setSelectedIndex(-1);




Klik kanan pada tombol Edit Data> Event > Action > actionPerformed lalu masukkan source berikut

int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini?","Confirmation",
                JOptionPane.YES_NO_OPTION);
        try{
            String sql ="update data_kontak set id_kontak=?,nama_kontak=?,no_kontak=?,Alamat=?,status=? where id_kontak='"
                  + id_kontakTextField.getText()+"'";
            PreparedStatement st=con.prepareStatement(sql);
            if(ok==0)
            {
                try
                {
                    st.setString(1,id_kontakTextField.getText());
                    st.setString(2,nama_kontakTextField.getText());
                    st.setString(3,no_kontakTextField.getText());
                    st.setString(4,alamat_TextField.getText());
                    st.setString(5,(String) statusComboBox.getSelectedItem());
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(null,"Update Data Sukses");
                }catch (Exception e)
                {
                    JOptionPane.showMessageDialog(null,"Update Data Gagal");
                }
            }
        }catch (Exception e){}



Run maka hasilnya akan seperti ini



Demikianlah menambahkan tombol pada Program buku telepon



Membuat DataBase Mahasiswa


klik new >> buat table baru






Buat Jframe Form dengan nama "MemasukanDataMahasiswa"

klik kanan pada libraries lalu pilih add Library, Pilih MySQL JDBC Driver, lalu add Library





Buat design seperti ini


Ubahlah variable sesuai dengan ketentuan di bawah:

jTextField1 = nim_TextField
jTextField2 = nama_TextField
jTextField3 = telepon_TextField
jTextField4 = ttl_TextField
jComboBox1 = jurusan_ComboBox
jComboBox2 = JenisKelamin_ComboBox
jComboBox3 = agama_ComboBox
jTextArea1 = alamat_TextArea




klik Kanan Pada ComboBox Jurusan -> Pilih Properties
sesuaikan seperti gambar




klik Kanan Pada ComboBox Kelamin-> Pilih Properties
sesuaikan seperti gambar





Klik Kanan Pada ComboBox Agama-> Pilih Properties
sesuaikan seperti gambar




Masukan source pada package, public class, dan public

Source pada package:
import java.awt.*;
import java.sql.*;
import javax.swing.*;


Source pada public class:
private Connection con;


Source pada public:
kosongkan();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);





Tambahkan source pada private void kosongkan:
 private void kosongkan(){
        nim_TextField.setText("");
        nama_TextField.setText("");
        telepon_TextField.setText("");
        Jurusan_ComboBox.setSelectedIndex(-1);
        ttl_TextField.setText("");
        JenisKelamin_ComboBox.setSelectedIndex(-1);
        alamat_TextArea.setText("");
        agama_ComboBox.setSelectedIndex(-1);
        nim_TextField.requestFocus();
    }



Tambahkan source pada tombol Simpan
try{
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/databasemahasiswa", "root", "");
    PreparedStatement pStatement = con.prepareStatement("INSERT INTO datamahasiswa(nim,nama,telepon,jurusan,TTL,jenis_kelamin,alamat,agama)"+ "VALUES (?,?,?,?,?,?,?,?)");
    pStatement.setString(1, nim_TextField.getText());
    pStatement.setString(2, nama_TextField.getText());
    pStatement.setString(3, telepon_TextField.getText());
    pStatement.setString(4, (String) Jurusan_ComboBox.getSelectedItem());
    pStatement.setString(5, ttl_TextField.getText());
    pStatement.setString(6, (String) JenisKelamin_ComboBox.getSelectedItem());
    pStatement.setString(7, alamat_TextArea.getText());
    pStatement.setString(8, (String) agama_ComboBox.getSelectedItem());
    kosongkan();
    if(pStatement.executeUpdate()>0)
    JOptionPane.showMessageDialog(this, "Penambahan Sukses","Informasi",
      JOptionPane.INFORMATION_MESSAGE);
    else 
    JOptionPane.showMessageDialog(this, "Penambahan Gagal","Informasi",
      JOptionPane.INFORMATION_MESSAGE);
          
    pStatement.close();
    con.close();
    }
    catch(ClassNotFoundException e){
    System.out.println("jdbc.Driver Tidak Ditemukan");
    }
    catch(SQLException e){
    System.out.println("Koneksi Gagal" + e.toString());
    }





Tambahkan source pada tombol bersihkan dan kembali
button bersihkan:
kosongkan();

button kembali:
new FormMenuUtama().setVisible(true);
        dispose();




Run maka hasilnya seperti ini







Buat Jflame form dengan nama lihat_data _mahasiswa, lalu design seperti gambar




Masukan source pada package, public class, dan public

Source pada package
import java.awt.*;
import java.sql.*;
import javax.swing.*;


Source pada public class
private Connection con_arief;
private Statement stat_arief;
private ResultSet res_arief;

Source pada public
tampilTabel();
        
    //Rata Kiri dan Kanan
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = getSize();
    setLocation(
    (screenSize.width - frameSize.width) / 3,
    (screenSize.height - frameSize.height) / 4);




Masukan code ini
 private Object[][] getData(){
        Object[][] data1 = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            stat_arief = con_arief.createStatement();
            res_arief = stat_arief.executeQuery("SELECT * FROM datamahasiswa");
            res_arief.last();
            int rowCount=res_arief.getRow();
            res_arief.beforeFirst();
            data1 = new Object[rowCount][8];
            int no=-1;
            while(res_arief.next()){
                no=no+1;
                data1[no][0]=res_arief.getString("nim");
                data1[no][1]=res_arief.getString("nama");
                data1[no][2]=res_arief.getString("telepon");
                data1[no][3]=res_arief.getString("jurusan");
                data1[no][4]=res_arief.getString("TTL");
                data1[no][5]=res_arief.getString("jenis_kelamin");
                data1[no][6]=res_arief.getString("alamat");
                data1[no][7]=res_arief.getString("agama");
            }
            stat_arief.close();
            con_arief.close();
        }catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }




Masukan kode ini
private void tampilTabel(){
        String [] columnNames = {"NIM","NAMA","TELEPON","JURUSAN","TTL","JENIS_KELAMIN","ALAMAT","AGAMA"};
        JTable table = new JTable(getData(), columnNames);
        jScrollPane1.setViewportView(table);
   }


Tambahkan source pada tombol kembali
new FormMenuUtama().setVisible(true);
dispose();



Run maka akan seperti ini



Buatlah Jflame form dengan nama ubah_data _mahasiswa, dan design seperti ini

Ubah variable sesuai dengan ini
jTextField1 = nim_TextField
jTextField2 = nama_TextField
jTextField3 = telepon_TextField
jTextField4 = ttl_TextField
jComboBox1 = jurusan_ComboBox
jComboBox2 = JenisKelamin_ComboBox
jComboBox3 = agama_ComboBox
jTextArea1 = alamat_TextArea





Masukkan source berikut

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

private Connection con_arief;
private Statement stat_arief;
private ResultSet res_arief;

koneksi_arief();
kosongkan_arief();



Masukan source lagi

koneksi_arief();
        kosongkan_arief();
        jButton1.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);

try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief=DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }



nim_TextField.setText("");
        nama_TextField.setText("");
        telepon_TextField.setText("");
        jurusan_ComboBox.setSelectedIndex(-1);
        ttl_TextField.setText("");
        JenisKelamin_ComboBox.setSelectedIndex(-1);
        alamat_TextArea.setText("");
        agama_ComboBox.setSelectedIndex(-1);
        nim_TextField.requestFocus();



Klik kaanan>event > action> actionPerformed pada tombol-tombol ini

Tombol Cek NIM
try{
        stat_arief = con_arief.createStatement(); 
        res_arief = stat_arief.executeQuery("Select * from datamahasiswa" + " where nim= '" + nim_TextField.getText() + "'");
        if(res_arief.next()){
            jButton1.setEnabled(true);
            nama_TextField.setText(res_arief.getString("nama"));
            telepon_TextField.setText(res_arief.getString("telepon"));
            jurusan_ComboBox.setSelectedItem(res_arief.getString("jurusan"));
            ttl_TextField.setText(res_arief.getString("TTL"));
            JenisKelamin_ComboBox.setSelectedItem(res_arief.getString("jenis_kelamin"));
            alamat_TextArea.setText(res_arief.getString("alamat"));
            agama_ComboBox.setSelectedItem(res_arief.getString("agama"));
            nim_TextField.setText(res_arief.getString("nim"));
        }else{
            JOptionPane.showMessageDialog(this, "ID : Salah","Informasi",JOptionPane.INFORMATION_MESSAGE);
            jButton1.setEnabled(false);
            kosongkan_arief();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }



Tombol Cek Nama
try{
        stat_arief = con_arief.createStatement();
        res_arief = stat_arief.executeQuery("Select * from datamahasiswa" + " where nama like('%" + nama_TextField.getText()+"%')");
        if(res_arief.next()){
            jButton1.setEnabled(true);
            nama_TextField.setText(res_arief.getString("nama"));
            telepon_TextField.setText(res_arief.getString("telepon"));
            jurusan_ComboBox.setSelectedItem(res_arief.getString("jurusan"));
            ttl_TextField.setText(res_arief.getString("TTL"));
            JenisKelamin_ComboBox.setSelectedItem(res_arief.getString("jenis_kelamin"));
            alamat_TextArea.setText(res_arief.getString("alamat"));
            agama_ComboBox.setSelectedItem(res_arief.getString("agama"));
            nim_TextField.setText(res_arief.getString("nim"));
        }else {
        JOptionPane.showMessageDialog(this, "Nama : Salah","Informasi",
            JOptionPane.INFORMATION_MESSAGE);
            jButton1.setEnabled(false);
            kosongkan_arief();




Tombol Simpan
try{
            PreparedStatement pStatement = con_arief.prepareStatement("UPDATE datamahasiswa SET nama=?,telepon=?,jurusan=?,TTL=?,jenis_kelamin=?,alamat=?,agama=? WHERE nim=?");
            pStatement.setString(1, nim_TextField.getText());
            pStatement.setString(2, nama_TextField.getText());
            pStatement.setString(3, telepon_TextField.getText());
            pStatement.setString(4, (String) jurusan_ComboBox.getSelectedItem());
            pStatement.setString(5, ttl_TextField.getText());
            pStatement.setString(6, (String) JenisKelamin_ComboBox.getSelectedItem());
            pStatement.setString(7, alamat_TextArea.getText());
            pStatement.setString(8, (String) agama_ComboBox.getSelectedItem());
           
            if(pStatement.executeUpdate()>0)
                JOptionPane.showMessageDialog(this, "Edit Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
            else
                JOptionPane.showMessageDialog(this, "Edit Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
            pStatement.close();
            kosongkan_arief();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Tombol Bersihkan
kosongkan_arief();

Tombol Kembali
new MenuUtama().setVisible(true);
 dispose();


Hasil Run


Buat Jflame form dengan nama HapusDataMahasiswa



Masukkan sepereti ini
import java.awt.*;
import java.sql.*;
import javax.swing.*;

private Connection con_arief;
private Statement stat_arief;
private ResultSet res_arief;
private JTable table_arief=null;

        koneksi_arief();
        tampilTabel();

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



Masukan source
try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }


String [] columnNames = {"nim","nama","telepon","jurusan","TTL","jenis_kelamin","alamat","agama"};
        JTable table_arief = new JTable(getData(), columnNames);
        jScrollPane1.setViewportView(table_arief);


         try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }



Masukkan source 
Object[][] data1 = null;
        try{
            stat_arief = con_arief.createStatement();
            res_arief = stat_arief.executeQuery("Select * from datamahasiswa");
            res_arief.last();
            int rowCount = res_arief.getRow();
            res_arief.beforeFirst();
            data1 = new Object[rowCount][8];
            int no=-1;
            while(res_arief.next()){
                no=no+1;
                data1[no][0] = res_arief.getString("nim");
                data1[no][1] = res_arief.getString("nama");
                data1[no][2] = res_arief.getString("telepon");
                data1[no][3] = res_arief.getString("jurusan");
                data1[no][4] = res_arief.getString("TTL");
                data1[no][5] = res_arief.getString("jenis_kelamin");
                data1[no][6] = res_arief.getString("alamat");
                data1[no][7] = res_arief.getString("agama");
            }
            stat_arief.close();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;




actionPerformad masing masing tombol ini 

Tombol Kembali
new MenuUtama().setVisible(true);
        dispose();

Tombol Hapus
String usrID = table_arief.getValueAt(table_arief.getSelectedRow(),0).toString();
        int ok_arief = JOptionPane.showConfirmDialog(null, "Apakah Yakin Mendelete record ini ??", 
                "Confirmation", JOptionPane.YES_NO_CANCEL_OPTION);
        if(ok_arief == 0){
            try{
                PreparedStatement pStatement = null;
                String sql ="DELETE FROM datamahasiswa WHERE nim=? ";
                pStatement = con_arief.prepareStatement(sql);
                pStatement.setString(1, usrID);
                int intTambah = pStatement.executeUpdate();
                if(intTambah>0)
                    JOptionPane.showMessageDialog(this, "Hapus Data Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
                else
                    JOptionPane.showMessageDialog(this, "Hapus Data Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
                pStatement.close();
                tampilTabel();
            }catch(SQLException e){
                System.out.println("Koneksi Gagal : " + e.toString());
            }



Run



Buat Jflame form dengan nama TambahMataKuliah



Ubah variable berikut
jTextField1=km_ariefTextField
jTextField2=nk_ariefTextField
jTextField3=sks_ariefTextField



Masukkan source
import java.awt.*;
import java.sql.*;
import javax.swing.*;

private Connection con_arief;

kosongkan_arief();

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



actionPerformad tombol berikut
Tombol Selesai
Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            PreparedStatement pStatement = con_arief.prepareStatement("INSERT INTO matakuliah(kode_matakuliah,nama_matakuliah,sks)"+ "VALUES (?,?,?)");
            pStatement.setString(1, km_ariefTextField.getText());
            pStatement.setString(2, nk_ariefTextField.getText());
            pStatement.setString(3, sks_ariefTextField.getText());
            kosongkan_arief();
            if(pStatement.executeUpdate()>0)
            JOptionPane.showMessageDialog(this, "Penambahan Sukses","Informasi",
                JOptionPane.INFORMATION_MESSAGE);
            else
            JOptionPane.showMessageDialog(this, "Penambahan Gagal","Informasi",
                JOptionPane.INFORMATION_MESSAGE);
            pStatement.close();
            con_arief.close();
        }
        catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }
        catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Tombol Bersihkan
  kosongkan_arief();

Tombol Kembali
        new MenuUtama().setVisible(true);
        dispose();



Buat JFrame LihatMataKuliah dan buat design seperti ini




Masukkan source

package Data_mahasiswa;
import java.awt.*;
import java.sql.*;
import javax.swing.*;


public class LihatMataKuliah extends javax.swing.JFrame {
    private Connection con_arief;
    private Statement stat_arief;
    private ResultSet res_arief;


    public LihatMataKuliah() {
        initComponents();
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);

    }

Masukan source

try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            stat_arief = con_arief.createStatement();
            res_arief = stat_arief.executeQuery("SELECT * FROM matakuliah");
            
            res_arief.last();
            int rowCount=res_arief.getRow();
            res_arief.beforeFirst();
            
            data1 = new Object[rowCount][3];
            int no=-1;
            while(res_arief.next()){
                no=no+1;
                data1[no][0]=res_arief.getString("kode_matakuliah");
                data1[no][1]=res_arief.getString("nama_matakuliah");
                data1[no][2]=res_arief.getString("sks");
            }
            stat_arief.close();
            con_arief.close();
        }catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }
    
    private void tampilTabel(){
        String [] columnNames = {"KODE MATAKULIAH","NAMA MATAKULIAH","SKS"};
        JTable table_arief = new JTable(getData(), columnNames);
        jScrollPane1.setViewportView(table_arief);
    }


Lalu Run


Buat JFrame LihatMataKuliah, lalu design seperti ini



Masukan source
package Data_mahasiswa;
import java.awt.*;
import java.sql.*;
import javax.swing.*;

public class LihatMataKuliah extends javax.swing.JFrame {
    private Connection con_arief;
    private Statement stat_arief;
    private ResultSet res_arief;

    public LihatMataKuliah() {
        initComponents();
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);

    }


Masukan source
try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            stat_arief = con_arief.createStatement();
            res_arief = stat_arief.executeQuery("SELECT * FROM matakuliah");
            
            res_arief.last();
            int rowCount=res_arief.getRow();
            res_arief.beforeFirst();
            
            data1 = new Object[rowCount][3];
            int no=-1;
            while(res_arief.next()){
                no=no+1;
                data1[no][0]=res_arief.getString("kode_matakuliah");
                data1[no][1]=res_arief.getString("nama_matakuliah");
                data1[no][2]=res_arief.getString("sks");
            }
            stat_arief.close();
            con_arief.close();
        }catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;



String [] columnNames = {"KODE MATAKULIAH","NAMA MATAKULIAH","SKS"};
        JTable table_arief = new JTable(getData(), columnNames);
        jScrollPane1.setViewportView(table_arief);


actionPerformed tombol kembali

new MenuUtama().setVisible(true);
        dispose();

Run




Buat JFrame EditMataKuliah, buat design seperti ini



Masukan source

public class EditMataKuliah extends javax.swing.JFrame {
    private Connection con_arief;
    private Statement stat_arief;
    private ResultSet res_arief;

    public EditMataKuliah() {
        initComponents();
        koneksi_arief();
        kosongkan_arief();
        jButton1.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); 
    }
    
    private void koneksi_arief(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief=DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
    }
    
    private void kosongkan_arief(){
        km_ariefTextField.setText("");
        nk_ariefTextField.setText("");
        sks_ariefTextField.setText("");
        km_ariefTextField.requestFocus();
    }

 private void kosongkan_arief(){
        km_ariefTextField.setText("");
        nk_ariefTextField.setText("");
        sks_ariefTextField.setText("");
        km_ariefTextField.requestFocus();
    }




actionPerformed tombol berikut

Tombol cek kode

try{
            stat_arief = con_arief.createStatement();
            res_arief = stat_arief.executeQuery("Select * from matakuliah" + " where kode_matakuliah= '" + km_ariefTextField.getText() + "'");
            if(res_arief.next()){
                jButton1.setEnabled(true);
                km_ariefTextField.setText(res_arief.getString("nama_matakuliah"));
                nk_ariefTextField.setText(res_arief.getString("sks"));
                sks_ariefTextField.setText(res_arief.getString("kode_matakuliah"));
            }else{
                JOptionPane.showMessageDialog(this, "Kode Matakuliah : Salah","Informasi",JOptionPane.INFORMATION_MESSAGE);
                jButton1.setEnabled(false);
                kosongkan_arief();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Tombol cek nama

try{
            stat_arief = con_arief.createStatement(); 
            res_arief = stat_arief.executeQuery("Select * from matakuliah" + " where nama_matakuliah like('%" + nk_ariefTextField.getText()+"%')");
            if(res_arief.next()){
                jButton1.setEnabled(true);
                nk_ariefTextField.setText(res_arief.getString("nama_matakuliah"));
                sks_ariefTextField.setText(res_arief.getString("sks"));
                km_ariefTextField.setText(res_arief.getString("kode_matakuliah"));
            }else {
                JOptionPane.showMessageDialog(this, "Nama Matakuliah : Salah","Informasi",
                        JOptionPane.INFORMATION_MESSAGE);
                jButton1.setEnabled(false);
                kosongkan_arief();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }
    }                                        




Tombol Simpan

try{
            PreparedStatement pStatement = con_arief.prepareStatement("UPDATE matakuliah SET nama_matakuliah=?,sks=? WHERE kode_matakuliah=?");
            pStatement.setString(1, km_ariefTextField.getText());
            pStatement.setString(2, nk_ariefTextField.getText());
            pStatement.setString(3, sks_ariefTextField.getText());
            
            if(pStatement.executeUpdate()>0)
                JOptionPane.showMessageDialog(this, "Edit Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
            else
                JOptionPane.showMessageDialog(this, "Edit Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
            pStatement.close();
            kosongkan_arief();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }

Tombol Brsihkan 
kosongkan_arief();

Tombol Kembali
new MenuUtama().setVisible(true);
        dispose();

Run




Buat JFrame HapusMataKuliah, lalu buat design seperti ini



Masukan source

package Data_mahasiswa;
import java.awt.*;
import java.sql.*;
import javax.swing.*;


public class HapusMataKuliah extends javax.swing.JFrame {
    private Connection con_arief;
    private Statement stat_arief;
    private ResultSet res_arief;
    private JTable table_arief=null;

    public HapusMataKuliah() {
        initComponents();
        koneksi_arief();
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);
    }
    
    private void koneksi_arief(){
    try{
            Class.forName("com.mysql.jdbc.Driver");
            con_arief = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }



Msukan source

private Object[][] getData(){
        Object[][] data1 = null;
        try{
            stat_arief = con_arief.createStatement();
            res_arief = stat_arief.executeQuery("Select * from matakuliah");
            res_arief.last();
            int rowCount = res_arief.getRow();
            res_arief.beforeFirst();
            
            data1 = new Object[rowCount][3];
            int no=-1;
            while(res_arief.next()){
                no=no+1;
                data1[no][0] = res_arief.getString("kode_matakuliah");
                data1[no][1] = res_arief.getString("nama_matakuliah");
                data1[no][2] = res_arief.getString("sks");
            }
            stat_arief.close();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }
    
    private void tampilTabel(){
        String [] columnNames = {"Kode_Matakuliah","Nama_Matakuliah","SKS"};
        table_arief = new JTable(getData(), columnNames);
        jScrollPane1.setViewportView(table_arief);
    }

actionPerformad tombol berikut

String usrID = table_arief.getValueAt(table_arief.getSelectedRow(),0).toString();
        int ok_arief = JOptionPane.showConfirmDialog(null, "Apakah Yakin Mendelete record ini ??", 
                "Confirmation", JOptionPane.YES_NO_CANCEL_OPTION);
        if(ok_arief == 0){
            try{
                PreparedStatement pStatement = null;
                String sql ="DELETE FROM matakuliah WHERE kode_matakuliah=? ";
                pStatement = con_arief.prepareStatement(sql);
                pStatement.setString(1, usrID);
                int intTambah = pStatement.executeUpdate();
                if(intTambah>0)
                    JOptionPane.showMessageDialog(this, "Hapus Data Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
                else
                    JOptionPane.showMessageDialog(this, "Hapus Data Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
                pStatement.close();
                tampilTabel();
            }catch(SQLException e){
                System.out.println("Koneksi Gagal : " + e.toString());
            }
        }

Tombol Kembali
new MenuUtama().setVisible(true);
        dispose();


Run


Buatlah JFrame MenuUtama, lalu desig seprti berikut


Masukan Source
public MenuUtama() {
        initComponents();
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);
    }



actionPerformad setiap tombol berikut

Tombol Lihat
new lihat_data_mahasiswa().setVisible(true);
        dispose();

Tombol Tambah
new MemasukanDataMahasiswa().setVisible(true);
        dispose();

Tombol Edit
 new ubah_data_mahasiswa().setVisible(true);
        dispose();

Tombol Hapus
 new HapusDataMahasiswa().setVisible(true);
        dispose();

Tombol Keluar
        System.exit(0);



Run



Sekian dan terima kasih atas waktu bapak mau mengecek punya saya


Komentar