Membuat Aplikasi Hitung Nilai Mahasiswa Dengan Java Netbeans dan MYSQL

10:00:00 PM
http://www.helmyntest.blogspot.com/2016/07/membuat-apliksai-hitung-nilai-mahasiswa-dengan-java-netbeans-dan-mysql.html

Membuat Apliksai Hitung Nilai Mahasiswa Dengan Java Netbeans dan MYSQL

Selamat Malam Sobat Helmyntest. Gimana Puasanya hari ini? semoga semuanya berbuka magrib :D Udah ga kerasa beberapa hari lagi merayakan hari kemeanangan dan gw masih sendiri -_- Oke langsung aja kepembahasan, sesusai judul postingan kali ini gw mau share Cara Membuat Apliksai Hitung Nilai Mahasiswa Dengan Java Netbeans dan MYSQL.
1. Sudah Pasti Sobat membuat Project Baru, setelah membuat project baru kemudia sobat buat design Formnya seperti Gambar Diatas dengan Komponen seperti gambar dibawah sob.

http://www.helmyntest.blogspot.com/2016/07/membuat-apliksai-hitung-nilai-mahasiswa-dengan-java-netbeans-dan-mysql.html

2. Jika sudah jangan Lupa Untuk Membuat Database dengan MYSQL bisa dengan XAMPP, jika sobat ga ngerti bisa baca disini
Untuk Databasenya Seterah Sobat, disini gw menggunakan Nama Database "uas" karena tugas UAS :D
dengan record nama (Varchar), uts(float), tm(float), uas(float), rata(float), tingkat(char), akhir (Char).
 Jika database sudah dibuat selanjutnya ke langkah berikutnya

3. Membuat File Koneksi.java dengan isi seperti dibawah pastekan setelah package name
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException;
import java.sql.Statement;
/**
 *
 * @author badger
 */
public class koneksi {
        public Statement data = null; 
        public Connection koneksi = null;
        
        public String Url="jdbc:Mysql://localhost/"; //host database anda 
        public String DbName="uas"; //nama database Anda 
        public String DBUser="root"; //username dari database, jika menggunakan default xampp maka username = root 
        public String DBPassword="";//password db , default xampp tidak ada = "";

public koneksi(){    
    try {                                        //setting driver yang digunakan untuk terhubung ke database            
        Class.forName("com.mysql.jdbc.Driver"); //membuat koneksi dengan parameter url +nama database, username dan password            
        koneksi = DriverManager.getConnection(Url+DbName, DBUser, DBPassword); //membuat statement yang akan digunakan untuk mengeksekusi query dari aplikasi            
        data = this.koneksi.createStatement();
        } 
    catch (ClassNotFoundException | SQLException ex) {            
            System.out.println("error : "+ex);            
            System.exit(0);        
        } 
}
public Connection getConnection(){    
    return koneksi; 
} 
    public Statement getStatement(){        
    return data;    
    }
}


4. Mengkoneksikan Database dengan MYSQL JDBC Driver, bagi yg belum tahu caranya bisa googling atau cek disini

5. Setelah Langkah Diatas Selanjutnya Koding pada Project yang sobat buat yang ada designnya sob

Letakan Kode dibawah ini tepat setelah nama package:

import java.awt.event.KeyEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


Letakan kode dibawah ini tepat setelah public class Soal2 extends javax.swing.JFrame {

/**
     * Creates new form nILAI
     * @throws java.sql.SQLException
     */
    public Soal2() throws SQLException {
        initComponents();
        setTableFromDB();
    }
    public void bersih(){     
            nama.setText("");     
            uts.setText("");     
            tm.setText("");
            uas.setText("");
            rata.setText("");
            tingkat.setText("");
            akhir.setText("");
            jLabel9.setText("");
            nama.requestFocus(); 
        }

Kemudian Membuat Filter untuk menghandle Field dengan cara Lihat gambar dibawah kemudian letakan kode dibawah tepat setelah private void utsKeyTyped(java.awt.event.KeyEvent evt) { , private void tmKeyTyped(java.awt.event.KeyEvent evt) {  , dan  private void uasKeyTyped(java.awt.event.KeyEvent evt) {
http://www.helmyntest.blogspot.com/2016/07/membuat-apliksai-hitung-nilai-mahasiswa-dengan-java-netbeans-dan-mysql.html


char c = evt.getKeyChar();
if (!(Character.isDigit(c)
        || (c==KeyEvent.VK_BACK_SPACE)
        || (c==KeyEvent.VK_DELETE))) {
    getToolkit().beep();
    JOptionPane.showMessageDialog(null, "Harus Angka 0-100");
    evt.consume();
}


Klik kiri 2 kali pada Button Hitung dan letakan kode dibawah ini tepat setelah private void hitungBtnActionPerformed(java.awt.event.ActionEvent evt) { 

 int total = 0;

if (nama.getText().length()==0 ||uts.getText().length()==0 || tm.getText().length()==0 ||uas.getText().length()==0 ){
        JOptionPane.showMessageDialog(null, "Harap Masukan Semua Data!");
    }
String nama1, grade, hasil;
    nama1=nama.getText();
    jLabel9.setText(String.valueOf(nama1));
    
 float num1, num2, num3, rataan;
 num1=Float.parseFloat(uts.getText());
 num2=Float.parseFloat(tm.getText());
 num3=Float.parseFloat(uas.getText());
 
 rataan=(float) ((num2*0.3)+(num1*0.3)+(num3*0.4));

 rata.setText(String.valueOf(rataan));
 if (rataan >= 100)
     grade="A";
 if (80<=rataan && rataan <=100)
     grade="A";
 else 
 if (70<=rataan && rataan  <=79.9)
     grade="B";
 else
 if (56<=rataan && rataan <=69.9)
     grade="C";
 else 
     grade="D";

 tingkat.setText(String.valueOf(grade));
 
 if ((grade=="A") ||  (grade=="B") || (grade=="C"))
     hasil="Lulus";
 else
     hasil="Tidak Lulus";
 
 akhir.setText(String.valueOf(hasil));
 

Klik kiri 2 kali pada button bersihkan dan letakan kode dibawah tepat setelah private void bersihkanBtnActionPerformed(java.awt.event.ActionEvent evt) {    

nama.setText("");
uts.setText("");
tm.setText("");
uas.setText("");
jLabel9.setText ("");
rata.setText ("");
tingkat.setText ("");
akhir.setText ("");
nama.requestFocus();  

klik kiri 2 kali pada button simpan dan pastekan kode dibawah tepat setelah private void simpanBtnActionPerformed(java.awt.event.ActionEvent evt) {

try {                                         
            try {
                this.insert(
                        this.nama.getText(),
                        this.uts.getText(),
                        this.tm.getText(),
                        this.uas.getText(),
                        this.rata.getText(),
                        this.tingkat.getText(),
                        this.akhir.getText());
            } catch (SQLException ex) {
                Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);
            }
            setTableFromDB();
            bersih();
        } catch (SQLException ex) {
            Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);
        }


lakukan hal yang sama pada button keluar

int reply =JOptionPane.showConfirmDialog(
        null,
        "Yakin ingin keluar?",
        "Konfirmasi",
        JOptionPane.YES_NO_OPTION);
if (reply == JOptionPane.YES_OPTION){
this.dispose();
}


Lakukan hal yang sama pada hapus button 

 try {
            this.delete(
                    this.nama.getText());
            setTableFromDB();
            bersih();
        } catch (SQLException ex) {
            Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);
        }


Membuat function insert dengan meletakan kode dibawah ditempat yg kosong bisa di setelah // End of variables declaration  

private void insert(String nama, String uts, String tm, String uas, String rata, String tingkat, String akhir) throws SQLException{        // buat objek koneksi yang menangani koneksi ke database        
        koneksi conect = new koneksi();        // tentukan query yang akan dijalankan pada mySql/database        
        // kita akan memasukkan data ke dalam tabel mahasiswa        
        String query = "insert into soal2 (nama,uts,tm,uas,rata,tingkat,akhir) values ('"+nama+"','"+uts+"','"+tm+"','"+uas+"','"+rata+"','"+tingkat+"','"+akhir+"')";
        //eksekusi query tersebut dengan cara :        
        try {            
            conect.getStatement().executeUpdate(query);
         //eksekusi
        
        JOptionPane.showMessageDialog(this, "insert berhasil");//pemberitahuan jika berhasil    
        }
        catch (SQLException ex) {            //jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah ini.            
        Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);            
        JOptionPane.showMessageDialog(this, "insert gagal");//pemberitahuan jika gagal        
}    
}


Lakukan hal yang sama untuk membuat function yang mengeset table dari database ke form yang didesain

private void setTableFromDB() throws SQLException {
      koneksi conect = new koneksi();// objek koneksi utk koneksi ke DB         
      ResultSet data = null; //         
      int jumBaris=0; // variable untuk menentukan jumlah baris matriks nantinya.
      //query yang akan ditampilkan, misalkan kita ingin menampilkan data ambil dari DB ke table        
      String query="select * from soal2";
             try {            
                 data = conect.getStatement().executeQuery(query); // query dijalankan            
                 while(data.next()){            
                     jumBaris++;            
                 }        
             } catch (SQLException ex) {            
                 JOptionPane.showMessageDialog(null,"Error pada jumlah baris : "+ex.getMessage());        
             }
              //jika jumlah baris telah didapatkan maka buat array 2 dimensi untuk menyimpan data sementara
        String isi[][]= new String[jumBaris][7]; //jumbaris, dan jumlah kolom = 3{nim, nama, komentar}
        // masukkan data dari ResultStatement kedalam matriks        
        int i=0;//just for loop  
        //eksekusi kembali query      
        try {           
            data = conect.getStatement().executeQuery(query);
            while (data.next())  {                
                System.out.println("disiko");
                            
            isi[i][0] = "" + data.getString("nama"); // ini sintaks untk mengambil isinya, "nama" adalah nama kolom dalam DB                
            System.out.println("nama="+data.getString("nama"));                
            isi[i][1] = "" + data.getString("uts");
            isi[i][2] = "" + data.getString("tm");    
            isi[i][3] = "" + data.getString("uas"); 
            isi[i][4] = "" + data.getString("rata"); 
            isi[i][5] = "" + data.getString("tingkat"); 
            isi[i][6] = "" + data.getString("akhir"); 
            i++;            
     }        
    } catch 
    (SQLException ex) {            
    Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);        
}
    String NamaKolom[] ={"Nama","UTS","TM","UAS","Rata-Rata","Grade","Hasil"};//nama kolom yang nantinya akan ada pada tabel
        DefaultTableModel model= new DefaultTableModel(isi,NamaKolom){};
        //selanjutnya adalah mlakukan pengesetan pada tabel        
        table.setModel(model);        //done!!!    }
 
        } 


membuat function delete seperti langkah diatas 

private void delete(String nama) {
        // buat objek koneksi yang menangani koneksi ke database        
        koneksi conect = new koneksi();
        
         // tentukan query update yang akan dijalankan pada mySql/database        
        // dalam queri ini kita akan menghapus data yang terkait dengan nim        
        String query = "delete from soal2 where nama='"+nama+"' ";
         //eksekusi query tersebut dengan cara :        
        try {            
            conect.getStatement().executeUpdate(query);
         //eksekusi
            JOptionPane.showMessageDialog(this, "data berhasil dihapus");//pemberitahuan jika berhasil
        } catch (SQLException ex) {            //jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah ini.            
            Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);            
            JOptionPane.showMessageDialog(this, "data gagal dihapus");//pemberitahuan jika gagal        
        } 
    }


Dan Selesai sudah langkah membuat aplikasi hitung nilai mahasiswa dengan netbeans dan myql, sobat tinggal jalankan programnya jangan lupa untuk menjalankan xampp sob.
Sekian untuk postingan kali ini semoga bermanfaat untuk semuanya. Jika ada yang salah-salah kata gw mohon maaf dan jika ada yang ditanyakan bisa dituliskan di kolom komentar facebook.
Sampai Jumpa di postingan gw berikutnya sob.



Share this

Related Posts

Previous
Next Post »

1 komentar:

Write komentar
Tuesday, July 12, 2016 at 8:47:00 PM GMT+7 delete

wah sangat bermanfaat, btw selain menggunakan xampp bisa menggunakan sofware lain tidak?

Reply
avatar