Tuesday, January 5, 2016

Aplikasi input data dengan java netbeans dan database mysql

lagi pusing ngadepin tahun 2016.

eh kepikiran bagi artikel tentang aplikasi sederhana.. mugkin buat yang sudah pro, artikel ini ga ada gunanya. tapi bagi yang pemula. mungkin ini sangat bermanfaat. dan ini sebenernya gabungan beberapa artikel sebelumnya mulai dari koneksi database yang sudah pernah ane buat.

oke biar ane ga tambah pusing karena ngadepin tahun 2016 . yuk capcus aja

sebelum dimulai ada hal yang perlu disiapkan
kopi sama gorengan untuk nyemil.. xixixixii just kiding

buat database di mysql dengan nama database db_mahasiswa  dan tabel name mahasiswa dengan struktu tabel sebagai berikut :


setelah database dan tabel terbentuk selanjutnya adalah buka netbean, dan buat projek baru dengan nama koneksidatabase (kalo mau diganti juga boleh).

buat class baru dengan nama koneksi dan ketikkan script dibawah ini (yang berwarna biru)

package koneksidatabase;

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

/**
 *
 * @author Altair
 */
public class koneksi {
    Connection conn=null; 

public static  Connection ok(){     //rumus ini diketik secara manual ,”ok” variable untuk dipanggil
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/db_mahasiswa","root","");           // db_mahasiswa nama database yg tadi dibuat

return conn;
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
return null;
}}}



buat  sebuah Jframeform baru dan buat tampilan seperti dibawah ini.




dibawah package ......... tambahkan 
import java.awt.event.KeyEvent;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;



dibawah public class ......... extends javax.swing.JFrame { tambahkan
Connection conn=null;
private DefaultTableModel Model;



 

dibawah initComponents(); tambahkan
 Model =new DefaultTableModel();
        jTablehasil.setModel(Model);
        Model.addColumn("NPM");
        Model.addColumn("Nama");
        Model.addColumn("Prodi");
        Model.addColumn("Fakultas");
        Model.addColumn("Nilai Tugas");
        Model.addColumn("Nilai MID");
        Model.addColumn("Nilai UAS");
     
        loadData();



diatas  @SuppressWarnings("unchecked") tambahkan
 public void loadData(){
    Model.getDataVector().removeAllElements();
    Model.fireTableDataChanged();
    try{
    Connection c=koneksi.ok();
            Statement s=c.createStatement();
           
            String sql="SELECT * from mahasiswa";
            ResultSet r=s.executeQuery(sql);
           
            while (r.next()){
            //memasukan ke table
                Object[] o=new Object[7];
                o[0]=r.getString("NPM");
                o[1] = r.getString("Nama");
                o[2] = r.getString("Prodi");
                o[3] = r.getString("Fakultas");
                o[4] = r.getString("NilaiTugas");
                o[5] = r.getString("NilaiUTS");
                o[6] = r.getString("NilaiUAS");

            Model.addRow(o);
           
            }
            r.close();
            s.close();
    }catch(Exception e){
    System.out.println("Error");
    }
    }


 
 dobel  klik pada button tes . isikan script seperti di bawah ini

   Connection conn=koneksi.ok();
 

script diatas hanya berfungsi untuk mengetes hubungan antara from dengan database

dobel klik pada button batal. isikan script seperti di bawah ini
        jTextFieldNPM.setText(" ");
        jTextFieldNama.setText(" ");
        jTextFieldProdi.setText(" ");
        jTextFieldFakultas.setText(" ");
        jTextFieldTugas.setText(" ");
        jTextFieldUTS.setText(" ");
        jTextFieldUAS.setText(" ");
        jTextFieldNPM.requestFocus();
        jTextFieldNPM.setEnabled(true);
        jButtonSimpan.setEnabled(true);



ingat diatas variabel name sudah diganti silahkan sesuaikan dengan variabel name yang anda buat.


dobel klik pada button simpan. isikan script seperti di bawah ini
 if (jTextFieldNPM.getText().equals("")
                || jTextFieldNama.getText().equals("")
                || jTextFieldProdi.getText().equals("")
                || jTextFieldFakultas.getText().equals("")
                || jTextFieldTugas.getText().equals("")
                || jTextFieldUTS.getText().equals("")
                || jTextFieldUAS.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Data harus diisi dengan lengkap!");
            return;
        }
     
        String cek = jTextFieldNPM.getText();

        if (cek.length() == 0) {
            JOptionPane.showMessageDialog(null, "Data belum valid");
            jButtonbatal.doClick();

        } else {

            try {

                Connection conn = koneksi.ok();
                String sql = "INSERT INTO Mahasiswa VALUES"
                        + "('" + jTextFieldNPM.getText() + "',"
                        + "'" + jTextFieldNama.getText() + "',"
                        + "'" + jTextFieldProdi.getText() + "',"
                        + "'" + jTextFieldFakultas.getText() + "',"
                        + "'" + jTextFieldTugas.getText() + "',"
                        + "'" + jTextFieldUTS.getText() + "',"
                        + "'" + jTextFieldUAS.getText() + "')"; 
                 PreparedStatement rumus=conn.prepareStatement(sql);
                rumus.executeUpdate();
                rumus.close();
            } catch (Exception e) {
                System.err.println(e.getMessage());
            } finally {
                loadData();
            }
            jButtonbatal.doClick();
        }



double klik pada button hapus. isikan script dibawah ini.

int i = jTablehasil.getSelectedRow();
        if (i == -1) {

            JOptionPane.showMessageDialog(null, "Silahkan Seleksi Table Terlebih Dahulu");

            jButtonbatal.doClick();
            return;
        }

        int result = JOptionPane.showConfirmDialog(this, "Hapus File", "Peringatan", JOptionPane.YES_NO_OPTION);
        if (result == 0) {

            try {
                String NPM = (String) Model.getValueAt(i, 0);

                Connection conn = koneksi.ok();
                String sql = "DELETE from Mahasiswa Where NPM=?";
                PreparedStatement rumus = conn.prepareStatement(sql);
                rumus.setString(1, NPM);
                rumus.executeUpdate();
                rumus.close();

            } catch (Exception e) {
                System.out.println("eror");
            } finally {
                loadData();
            }
            jButtonbatal.doClick();
        } else {
            jButtonbatal.doClick();
        }


double klik pada buton edit isikan script dibawah ini

int i = jTablehasil.getSelectedRow();
        if (i == -1) {
            //table belom diseleksi
            JOptionPane.showMessageDialog(null, "Silahkan Seleksi Table Terlebih Dahulu");

            jButtonbatal.doClick();
            return;
        }
        //mengabil data dari table
        String NPM = (String) Model.getValueAt(i, 0);
        String NPMbaru = jTextFieldNPM.getText();
        String Nama = jTextFieldNama.getText();
        String Prodi = jTextFieldProdi.getText();
        String Fakultas = jTextFieldFakultas.getText();
        String tugas = jTextFieldTugas.getText();
        String UTS = jTextFieldUTS.getText();
        String UAS = jTextFieldUAS.getText();
        try {
            Connection conn = koneksi.ok();

            String sql = "UPDATE Mahasiswa Set Nama=?,Prodi=?,Fakultas=?,NilaiTugas=?,NilaiUTS=?,NilaiUAS=?,NPM=?"
                    + " WHERE NPM= ?";
            PreparedStatement p = conn.prepareStatement(sql);

            p.setString(1, Nama); //ANGKA 1 MENGIKUTI URUTAN DARIString sql digunakan untuk mengisi statmen sql
            p.setString(2, Prodi);
            p.setString(3, Fakultas);
            p.setString(4, tugas);
            p.setString(5, UTS);
            p.setString(6, UAS);
            p.setString(7, NPMbaru);
            p.setString(8, NPM); //diambil dari variable diatas
            p.executeUpdate();
            p.close();

        } catch (Exception e) {
            System.out.println("eror");
        } finally {
            loadData();
        }
        jButtonbatal.doClick();



beri even pada jtablehasil mouse clicked. isikan script di bawah ini

 int i = jTablehasil.getSelectedRow();
        if (i == -1) {
            //tidak ada table yg terseleksi
            return;
        }
        jTextFieldNPM.setText((jTablehasil.getValueAt(i, 0)).toString()); //cara pertama


        String Nama = (String) Model.getValueAt(i, 1); // cara kedua
        jTextFieldNama.setText(Nama);


        jTextFieldProdi.setText((jTablehasil.getValueAt(i, 2)).toString()); //cara pertama
        jTextFieldFakultas.setText((jTablehasil.getValueAt(i, 3)).toString()); //cara pertama
        jTextFieldTugas.setText((jTablehasil.getValueAt(i, 4)).toString()); //cara pertama
        jTextFieldUTS.setText((jTablehasil.getValueAt(i, 5)).toString()); //cara pertama
        jTextFieldUAS.setText((jTablehasil.getValueAt(i, 6)).toString()); //cara pertama

        double tugas = Double.parseDouble(jTextFieldTugas.getText());
        double UTS = Double.parseDouble(jTextFieldUTS.getText());
        double UAS = Double.parseDouble(jTextFieldUAS.getText());

        double na = ((tugas * 0.3) + (UTS * 0.3) + (UAS * 0.4));
        jTextFieldNPM.setEnabled(false);
        jButtonSimpan.setEnabled(false);


Ket. cara pertama dan cara kedua memiliki fungsi yang sama hanya beda dalam penulisan script.

sekian artikel ane tentang pembuatan aplikasi sederhana dengan java netbeans dan mysql, untuk para master mohon maaf kalo ada kesalahan dan kekurangan dalam pembuatan artikel ini.

untuk cetak silahkan lihat artikel ane tentang cetak dengan ireport..
sekian dan selamat mencoba.

Majuterus developer Indonesia

Unknown

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.

0 comments:

Post a Comment

 

Copyright @ 2017