dari blog ketiga ini kita membahas cara membuat grafik pie kemudian menginput suatu data ke Database dan mengaplikasikannya kedalam grafik atau diagram disini saya menggunakan Java Neatbeans.😊😊
sebelumnya apa sih Database itu?
sebagai kumpulan data yang disimpan secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan perangkat lunak (software) program atau aplikasi untuk menghasilkan informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur data dan juga batasan-batasan pada data yang kemudian disimpan.
pertama yang perlu kita lakuin adalah konekin dari database nya terlebih dahulu berikut contohnya :
1. Buka Aplikasi XAMPP lalu konekin seperti gambar tersebut .
2. Lalu search dengan nama " localhost/phpmyadmin "
3. Klik new pada database dan beri nama sesuai keinginan, disini saya beri nama
" grafik "
4. Lalu isi tabel sesuai keinginan masing-masing disini saya membuat tabel dengan nama " grafik " seperti gambar dibawah ini kalau sudah langsung klik simpan/save .
5. Selanjutnya membuat tabel kedua cara sama dengan sebelumnya seperti gambar diatas, untuk nama " data diri " dan hasil seperti gambar dibawah ini.
6. Selanjutnya kalian buat project di Neatbeans dengan nama " database " .
7. lalu kalian import mysql-connector-java ke library java fungsinya untuk koneksi java ke database .
8. Buat JFrame from dengan nama " nilai " dan buat design seperti gambar dibawah ini .
NOTE :
nilai : pada tabel sebelah kanan
data diri : pada tabel sebelah kiri
9. Masukkan source pada JFrame from " nilai "
package database;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
10. Masukkan source code berikutnya
public class nilai extends javax.swing.JFrame {
private Connection con_MIAFILIO;
private Statement stat_MIAFILIO;
private ResultSet res_MIAFILIO;
private String t_MIAFILIO;
private DefaultTableModel dtm_MIAFILIO;
ResultSet rs_MIAFILIO;
String sql_MIAFILIO;
/**
* Creates new form nilai
*/
public nilai() {
initComponents();
koneksi_MIAFILIO();
kosongkan_MIAFILIO();
tabel_MIAFILIO();
//membuat layout tampil di tengah pada saat ditampilkan
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
}
private void koneksi_MIAFILIO(){
try {
Class.forName("com.mysql.jdbc.Driver");
con_MIAFILIO=DriverManager.getConnection("jdbc:mysql://localhost/grafik", "root", "");
stat_MIAFILIO=con_MIAFILIO.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"koneksi gagal" +e);
}
}
private void kosongkan_MIAFILIO(){
jTextField1_MIAFILIO.setText("");
jTextField2_MIAFILIO.setText("");
jTextField3_MIAFILIO.setText("");
}
private void tabel_MIAFILIO(){
DefaultTableModel t_MIAFILIO= new DefaultTableModel();
t_MIAFILIO.addColumn("NIM");
t_MIAFILIO.addColumn("Nilai Semester Ganjil");
t_MIAFILIO.addColumn("Nilai Semester Genap");
jTable1_MIAFILIO.setModel(t_MIAFILIO); try{ res_MIAFILIO=stat_MIAFILIO.executeQuery("select * from nilai");
while (res_MIAFILIO.next()) {
t_MIAFILIO.addRow(new Object[]{
res_MIAFILIO.getString("NIM"),
res_MIAFILIO.getString("Nilai Semester Ganjil"),
res_MIAFILIO.getString("Nilai Semester Genap"),
});
}
}catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
10. Masukkan source pada button " SAVE " pada tabel nilai
try {
stat_MIAFILIO.executeUpdate("insert into nilai values (" + "'" + jTextField1_MIAFILIO.getText()+"'," + "'" + jTextField2_MIAFILIO.getText()+ "'," + "'" + jTextField3_MIAFILIO.getText()+ "')");
kosongkan_MIAFILIO();
JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Perintah Salah : "+e);
}
}
11. Masukkan source pada button " CLEAR " pada tabel nilai
// TODO add your handling code here:
kosongkan_MIAFILIO();
}
12. Masukkan source pada button " GRAFIK " pada tabel nilai
pienilai obj1_MIAFILIO = new pienilai();
obj1_MIAFILIO.setNilai(jTextField2_MIAFILIO.getText(),jTextField3_MIAFILIO.getText());
obj1_MIAFILIO.setVisible(true);
dispose();
}
13. Masukkan source pada button " TAMPILKAN " pada tabel nilai
try{
Object [] rows={"NIM","Nilai Semester Ganjil","Nilai Semester Genap"};
dtm_MIAFILIO=new DefaultTableModel(null,rows);
jTable1_MIAFILIO.setModel(dtm_MIAFILIO); jTable1_MIAFILIO.setBorder(null);
jScrollPane1.setVisible(true);
jScrollPane1.setViewportView(jTable1_MIAFILIO);
int no = 1;
String nim="",gnp="",gjl="";try{String sql="select * from nilai";Statement
st=con_MIAFILIO.createStatement();ResultSet rs=st.executeQuery(sql);
while(rs.next()){nim=rs.getString("NIM");gjl=rs.getString("Nilai Semester Ganjil");gnp=rs.getString("Nilai Semester Genap"); String []
tampil={""+nim,gjl,gnp};dtm_MIAFILIO.addRow(tampil);
}
}catch(SQLException e){e.printStackTrace();
JOptionPane.showMessageDialog(null,"Query Salah "+e);
}
}catch(Exception e){e.printStackTrace();
}
}
14. Masukkan source pada button " HAPUS " pada tabel nilai
try {
stat_MIAFILIO.executeUpdate("delete from nilai where " + "NIM='"+jTextField1_MIAFILIO.getText() +"'" );
kosongkan_MIAFILIO();
JOptionPane.showMessageDialog(null, "Berhasil");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "pesan salah : "+e);
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new nilai().setVisible(true);
}
});
}
15. Masukkan source pada button " SAVE " pada tabel data diri
try {
String a;
a = nim_MIAFILIO.getText();
jTextField1_MIAFILIO.setText(a);
int s=0;
koneksi_MIAFILIO();
String cs="";
s=jComboBox1.getSelectedIndex();
if(s==0)
{
cs="Teknik Informatika";
}
else if(s==1)
{
cs="Teknik Mesin";
}
else if(s==2)
{
cs="Sastra Inggris";
}
else if(s==3)
{
cs="Pendidikan Ekonomi";
}
else if(s==4)
{
cs="Hukum";
}
else
{
cs="Akutansi";
}
stat_MIAFILIO.executeUpdate("insert into datadiri values (" + "'" + nim_MIAFILIO.getText()+"'," + "'" + nama_MIAFILIO.getText()+ "',"+"'"+cs+"')");
kosongkan1_MIAFILIO();
JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Perintah Salah : "+e);
}
}
16. Masukkan source pada button " JURUSAN " pada tabel data diri
String s;
if(jComboBox1.getSelectedIndex()==0)
{
s="Teknik Informatika";
}
else if(jComboBox1.getSelectedIndex()==1)
{
s="Teknik Mesin";
}
else if(jComboBox1.getSelectedIndex()==2)
{
s="Sastra Inggris";
}
else if(jComboBox1.getSelectedIndex()==3)
{
s="Pendidikan Ekonomi";
}
else if(jComboBox1.getSelectedIndex()==4)
{
s="Hukum";
}
else
{
s="Akutansi";
}
}
17. Masukkan source pada button " CLEAR " pada tabel data diri
kosongkan1_MIAFILIO();
}
18. Masukkan source pada button " TAMPILKAN " pada tabel data diri
try{
Object [] rows={"NIM","Nama","Jurusan"};
dtm_MIAFILIO=new DefaultTableModel(null,rows);
tabel_MIAFILIO.setModel(dtm_MIAFILIO); tabel_MIAFILIO.setBorder(null);
jScrollPane2.setVisible(true);
jScrollPane2.setViewportView(tabel_MIAFILIO);
int no = 1;
String nim="",nama="",jrs="";try{String sql="select * from datadiri";Statement
st=con_MIAFILIO.createStatement();ResultSet rs=st.executeQuery(sql);
while(rs.next()){nim=rs.getString("NIM");nama=rs.getString("Nama");jrs=rs.getString("Jurusan"); String []
tampil={""+nim,nama,jrs};dtm_MIAFILIO.addRow(tampil);
}
}catch(SQLException e){e.printStackTrace();
JOptionPane.showMessageDialog(null,"Query Salah "+e);
}
}catch(Exception e){e.printStackTrace();
}
}
19. Masukkan source pada button " HAPUS " pada tabel data diri
try {
stat_MIAFILIO.executeUpdate("delete from datadiri where " + "NIM='"+nim_MIAFILIO.getText() +"'" );
kosongkan1_MIAFILIO();
JOptionPane.showMessageDialog(null, "Berhasil");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "pesan salah : "+e);
}
}
20. Buatlah new java class beri nama " pienilai "
kemudian masukkan source code berikut :
package Atika_171011401247;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.util.Rotation;
/**
*
* @author User
*/
public class pienilai extends JFrame{
double n1_MIAFILIO=0,n2_MIAFILIO=0;
public void setNilai(String nilai1_MIAFILIO, String nilai2_MIAFILIO){
try {
n1_MIAFILIO = Double.parseDouble(nilai1_MIAFILIO);
} catch (NumberFormatException ex){}
try {
n2_MIAFILIO = Double.parseDouble(nilai2_MIAFILIO);
} catch (NumberFormatException ex){}
this.setSize(600,400);
this.setTitle("Diagram PIE");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuat diagram/ chart jfreechart
//Membuat/ mengkakulasikan data char
PieDataset dataset_MIAFILIO = buildData();
//Membuat chart berdasarkan data yang ada pada dataset
JFreeChart chart_MIAFILIO = buildChart(dataset_MIAFILIO, "Data Dari Tabel");
//Memasukkan chart pada panel agar lebih mudah ditampilkam pada komponen
ChartPanel pieChart_MIAFILIO = new ChartPanel(chart_MIAFILIO);
//memasukkan chart panel kedalam jpanel
this.setContentPane(pieChart_MIAFILIO);
}
private JFreeChart buildChart(PieDataset dataset_MIAFILIO, String judul_MIAFILIO){
JFreeChart chart_MIAFILIO = ChartFactory.createPieChart3D(judul_MIAFILIO,// Judul Char
dataset_MIAFILIO,// data chart yang akan di tampilkan
true, // jika ya, maka akan legend chart/diagram ditampilkan
true,
false);
PiePlot3D plot_MIAFILIO = (PiePlot3D) chart_MIAFILIO.getPlot();
plot_MIAFILIO.setStartAngle(290);
plot_MIAFILIO.setDirection(Rotation.CLOCKWISE);
plot_MIAFILIO.setForegroundAlpha(0.5f);
return chart_MIAFILIO;
}
private PieDataset buildData() {
DefaultPieDataset dataSet_MIAFILIO = new DefaultPieDataset();
dataSet_MIAFILIO.setValue("Nilai Semester Ganjil", n1_MIAFILIO);
dataSet_MIAFILIO.setValue("Nilai Semester Genap", n2_MIAFILIO);
return dataSet_MIAFILIO;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) { }
SwingUtilities.invokeLater(new Runnable() { @Override
public void run() { new pienilai().setVisible(true);
}
});
}
}
21. Hasil Run pada tabel " FORM NILAI MAHASISWA "
22. Hasil Run pada Grafik " Data Dari Tabel "
23. Berikut ini Hasil Database " nilai dan data diri mahasiswa "
24. Hasil dari Tabel Database " Nilai Mahasiswa "
25. Hasil dari Tabel Database " Data Diri Mahasiswa"
Selesai Semoga dapat dipahami dari isi blog yang saya buat ini , kurang lebih nya mohon maaf jika ada salah kata atau apapun itu .
Terima Kasih 😊

Tidak ada komentar:
Posting Komentar