Buka xampp start Apache dan Mysql
- Buka http://127.0.0.1/phpmyadmin/ di browser
- Klik New untuk mmbuat database baru dengan nama grafik, dan table dengan nama grafikbar dan grafikpie setelah itu masukan jumlah column klik save
- Database telah terbentuk dengan tampilan seperti berikut
- Lalu Buka Netbeans dan buat Project Baru
- Import Library JFrame Form dan MySQL JDBC Driver
- Pada koneksi.java masukan source code sebagai berikut :
package database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Massindo
*/
public class koneksi {
private static Connection koneksi;
public static Connection getkoneksi(){
if (koneksi==null){
try{
String url = new String();
String user = new String();
String password = new String();
url ="jdbc:mysql://localhost:3306/grafik";
user="root";
password="";
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi =(Connection)DriverManager.getConnection(url,user,password);
}catch(SQLException t){
System.out.println("Koneksi error");
}
}
return koneksi;
}
}
- Maka akan tampil seperti ini :
- Setelah itu buat class untuk menginput ke database dan menampilkan grafik dengan nama InputGraphicBar_Zen dan InputGraphicPie_Zen
- Buatlah Design InputGraphicsBar_Zen seperti berikut :
- Pada Editor InputGraphicsBar_Zen masukan code untuk import ke mysql
package muhammadzen_uas_komputergrafik;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import database.koneksi;
- Tampilan seperti ini :
- Masukan lagi source dibawahnya :
public class InputGraphicsBar_Zen extends javax.swing.JFrame {
private Connection conn = new koneksi().getkoneksi();
public InputGraphicsBar_Zen() {
this.setTitle("INPUT DATA NILAI");
initComponents();
}
private void aktif (){
zen_nilai1.setEnabled(true);
zen_nilai2.setEnabled(true);
zen_nilai3.setEnabled (true);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
zen_nilai2 = new javax.swing.JTextField();
zen_nilai3 = new javax.swing.JTextField();
zen_nilai1 = new javax.swing.JTextField();
save_zen = new javax.swing.JButton();
tampilkan_zen = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Jumlah Mahasiswa Unpam Berdasarkan Alamat");
jLabel2.setText("Jakarta");
jLabel3.setText("Tangerang");
jLabel4.setText("Depok");
save_zen.setText("Save");
save_zen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
save_zenActionPerformed(evt);
}
});
tampilkan_zen.setText("Tampilkan Graphics Bar");
tampilkan_zen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tampilkan_zenActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(79, 79, 79)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 244, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(41, 41, 41)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(save_zen, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(24, 24, 24))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(zen_nilai3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 177, Short.MAX_VALUE)
.addComponent(zen_nilai2, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(zen_nilai1)))
.addComponent(tampilkan_zen))))
.addContainerGap(77, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(24, 24, 24)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(zen_nilai1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(23, 23, 23)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(zen_nilai2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(zen_nilai3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(27, 27, 27)
.addComponent(save_zen)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(tampilkan_zen)
.addContainerGap(52, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void save_zenActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String sql = "insert into grafikbar values (?,?,?)";
try{
PreparedStatement stat = conn.prepareStatement(sql);
stat.setString(1, zen_nilai1.getText());
stat.setString(2, zen_nilai2.getText());
stat.setString(3, zen_nilai3.getText());
stat.executeUpdate();
JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
zen_nilai1.requestFocus();
} catch (SQLException e){
JOptionPane.showMessageDialog(null,"Data Gagal Disimpan"+e);
} // TODO add your handling code here:
}
private void tampilkan_zenActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
GraphicsBar_Zen g_Zen = new GraphicsBar_Zen();
g_Zen.setNilai(zen_nilai1.getText(), zen_nilai2.getText(), zen_nilai3.getText());
g_Zen.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InputGraphicsBar_Zen().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JButton save_zen;
private javax.swing.JButton tampilkan_zen;
private javax.swing.JTextField zen_nilai1;
private javax.swing.JTextField zen_nilai2;
private javax.swing.JTextField zen_nilai3;
// End of variables declaration
}
- Tampilan seperti ini :
- Setelah itu kita ke Class InputGraphicsPie_Zen dan Design Sebagai berikut
- Lanjut ke Source Code dan masukan codingan berikut :
package muhammadzen_uas_komputergrafik;
import database.koneksi;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
*
* @author Massindo
*/
public class InputGraphicsPie_Zen extends javax.swing.JFrame {
private Connection conn = new koneksi().getkoneksi();
public InputGraphicsPie_Zen() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
zen_nilai1 = new javax.swing.JTextField();
zen_nilai2 = new javax.swing.JTextField();
zen_nilai3 = new javax.swing.JTextField();
save_zen = new javax.swing.JButton();
tampilkan_zen = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Jakarta");
jLabel2.setText("Tangerang");
jLabel3.setText("Depok");
save_zen.setText("Simpan Data");
save_zen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
save_zenActionPerformed(evt);
}
});
tampilkan_zen.setText("Tampilkan Graphics Pie");
tampilkan_zen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tampilkan_zenActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(46, 46, 46)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(49, 49, 49)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(zen_nilai1, javax.swing.GroupLayout.DEFAULT_SIZE, 143, Short.MAX_VALUE)
.addComponent(zen_nilai2)
.addComponent(zen_nilai3))
.addContainerGap(110, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(tampilkan_zen, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(save_zen, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(32, 32, 32))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(51, 51, 51)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(zen_nilai1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(zen_nilai2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(zen_nilai3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jLabel3)))
.addGap(25, 25, 25)
.addComponent(save_zen, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(tampilkan_zen)
.addContainerGap(54, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void save_zenActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String sql = "insert into grafikpie values (?,?,?)";
try{
PreparedStatement stat = conn.prepareStatement(sql);
stat.setString(1, zen_nilai1.getText());
stat.setString(2, zen_nilai2.getText());
stat.setString(3, zen_nilai3.getText());
stat.executeUpdate();
JOptionPane.showMessageDialog(null, "Data Berhasil Disimpan");
zen_nilai1.requestFocus();
} catch (SQLException e){
JOptionPane.showMessageDialog(null,"Data Gagal Disimpan"+e);
}
}
private void tampilkan_zenActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
GraphicsPie_Zen g_Zen = new GraphicsPie_Zen();
g_Zen.setNilai(zen_nilai1.getText(), zen_nilai2.getText(), zen_nilai3.getText());
g_Zen.setVisible(true);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(InputGraphicsPie_Zen.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(InputGraphicsPie_Zen.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(InputGraphicsPie_Zen.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(InputGraphicsPie_Zen.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InputGraphicsPie_Zen().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JButton save_zen;
private javax.swing.JButton tampilkan_zen;
private javax.swing.JTextField zen_nilai1;
private javax.swing.JTextField zen_nilai2;
private javax.swing.JTextField zen_nilai3;
// End of variables declaration
}
- Berikut Printscreen nya :
- Lalu kita running program, input nilai dan save
- Tampilkan Graphic Bar seperti berikut :
- Setelah itu buka MySQL untuk melihat angka yang telah terinput
- Lakukan Langkah yang sama pada GraphicInputPie_Zen
membua aplikasi database dengan menampilkan hasil grafik sebagai laporannya, Selesai.
0 Komentar