1. Buat project baru dan beri nama. Misal
UAS_ArifRamdani_171011400897
2. Buat new java class kemudian masukkan source berikut untuk menyambungkan ke database.
package uasariframdani_171011400897;
import com.mysql.cj.jdbc.MysqlDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @Arif Ramdani 171011400897
*/
public class Test {
public Connection createConnection(){
Connection connection = null;
MysqlDataSource sql = new MysqlDataSource();
sql.setServerName("localhost");
sql.setPortNumber(3306);
sql.setUser("root");
sql.setPassword("");
sql.setDatabaseName("datawarga");
try {
connection = sql.getConnection();
} catch (SQLException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
return connection;
}
}
3, Buat JFrame dan masukkan source seperti berikut:
package uasariframdani_171011400897;
/**
*
* @author windows 10
*/
public class Main extends javax.swing.JFrame {
/**
* Creates new form Main
*/
public Main() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jMenuBar2 = new javax.swing.JMenuBar();
jMenu3 = new javax.swing.JMenu();
jMenu4 = new javax.swing.JMenu();
jPanel1 = new javax.swing.JPanel();
jMenuBar1 = new javax.swing.JMenuBar();
arifmenu = new javax.swing.JMenu();
arifdesa = new javax.swing.JMenuItem();
arifdata = new javax.swing.JMenuItem();
ariflog = new javax.swing.JMenu();
jMenu3.setText("File");
jMenuBar2.add(jMenu3);
jMenu4.setText("Edit");
jMenuBar2.add(jMenu4);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
arifmenu.setText("Data");
arifdesa.setText("Desa");
arifdesa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
arifdesaActionPerformed(evt);
}
});
arifmenu.add(arifdesa);
arifdata.setText("Data Covid19");
arifdata.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
arifdataActionPerformed(evt);
}
});
arifmenu.add(arifdata);
jMenuBar1.add(arifmenu);
ariflog.setText("Logout");
ariflog.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ariflogActionPerformed(evt);
}
});
jMenuBar1.add(ariflog);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 279, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void arifdesaActionPerformed(java.awt.event.ActionEvent evt) {
DataDesa ds = new DataDesa();
ds.setVisible(true);
}
private void arifdataActionPerformed(java.awt.event.ActionEvent evt) {
DataCovid19 co = new DataCovid19();
co.setVisible(true);
}
private void ariflogActionPerformed(java.awt.event.ActionEvent evt) {
Login log = new Login();
log.setVisible(true);
setVisible(false);
dispose();
}
/**
* @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(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenuItem arifdata;
private javax.swing.JMenuItem arifdesa;
private javax.swing.JMenu ariflog;
private javax.swing.JMenu arifmenu;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenu jMenu4;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuBar jMenuBar2;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
4. Buat new java class untuk membuat Pie Chart, masukkan kode berikut :
package UTS_ArifRamdani;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
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;
public class PieUts extends JFrame {
double n1=0,n2=0, n3=0, n4=0;
public void setNilai(String nilai1, String nilai2, String nilai3, String nilai4){
try {
n1 = Double.parseDouble(nilai1);
} catch (NumberFormatException ex){}
try {
n2 = Double.parseDouble(nilai2);
} catch (NumberFormatException ex){}
try {
n3 = Double.parseDouble(nilai3);
} catch (NumberFormatException ex){}
try {
n4 = Double.parseDouble(nilai4);
} catch (NumberFormatException ex){}
this.setSize(600, 400);
this.setTitle("Diagram Pie Data Covid-19");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuatdiagram/chart jfreechart
//Membuat/mengkakulasikandata char
PieDataset dataset = buildData();
PieDataset dataset1 = buildData1();
// Membuatchart berdasarkandata yang adapadadataset
JFreeChart chart = buildChart(dataset, "Data Penduduk Yang Terkena Covid 19");
JFreeChart chart1 = buildChart1(dataset1, "Perbandingan Data Keselamatan");
// Memasukanchart padapanel agar lebihmudahditampilkanpadakomponenswing containe
ChartPanel pieChart= new ChartPanel(chart);
ChartPanel pieChart1= new ChartPanel(chart1);
//memasukanchart panel kedalamjpanel
this.setContentPane(pieChart);
JPanel panel = new JPanel(new GridLayout(2, 2));
panel.add(new ChartPanel(chart));
panel.add(new ChartPanel(chart1));
setContentPane(panel);
}
private JFreeChart buildChart(PieDataset dataset, String judul) {
JFreeChart chart = ChartFactory.createPieChart3D("Data Penduduk Yang Terkena Covid 19", // Judul Chart
dataset, // data chart yang akan di tampilkan
true, // jika ya, maka akan legend chart/diagram ditampilkan
true,
false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setForegroundAlpha(0.6f);
return chart;
}
private JFreeChart buildChart1(PieDataset dataset, String judul) {
JFreeChart chart1 = ChartFactory.createPieChart3D("Perbandingan Data Keselamatan", // Judul Chart
dataset, // data chart yang akan di tampilkan
true, // jika ya, maka akan legend chart/diagram ditampilkan
true,
false);
PiePlot3D plot = (PiePlot3D) chart1.getPlot();
plot.setForegroundAlpha(0.6f);
return chart1;
}
private PieDataset buildData() {
DefaultPieDataset dataSet= new DefaultPieDataset();
dataSet.setValue("Positif"+n1, n1);
dataSet.setValue("PDP"+n2, n2);
dataSet.setValue("ODP"+n3, n3);
return dataSet;
}
private PieDataset buildData1() {
DefaultPieDataset dataSet1= new DefaultPieDataset();
dataSet1.setValue("Kematian"+n4, n4);
dataSet1.setValue("Data Termasuk Positif, PDP, ODP",n1+n2+n3);
return dataSet1;
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new PieUts().setVisible(true);
}
});
}
}
UAS_ArifRamdani_171011400897
2. Buat new java class kemudian masukkan source berikut untuk menyambungkan ke database.
package uasariframdani_171011400897;
import com.mysql.cj.jdbc.MysqlDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @Arif Ramdani 171011400897
*/
public class Test {
public Connection createConnection(){
Connection connection = null;
MysqlDataSource sql = new MysqlDataSource();
sql.setServerName("localhost");
sql.setPortNumber(3306);
sql.setUser("root");
sql.setPassword("");
sql.setDatabaseName("datawarga");
try {
connection = sql.getConnection();
} catch (SQLException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
return connection;
}
}
3, Buat JFrame dan masukkan source seperti berikut:
package uasariframdani_171011400897;
/**
*
* @author windows 10
*/
public class Main extends javax.swing.JFrame {
/**
* Creates new form Main
*/
public Main() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jMenuBar2 = new javax.swing.JMenuBar();
jMenu3 = new javax.swing.JMenu();
jMenu4 = new javax.swing.JMenu();
jPanel1 = new javax.swing.JPanel();
jMenuBar1 = new javax.swing.JMenuBar();
arifmenu = new javax.swing.JMenu();
arifdesa = new javax.swing.JMenuItem();
arifdata = new javax.swing.JMenuItem();
ariflog = new javax.swing.JMenu();
jMenu3.setText("File");
jMenuBar2.add(jMenu3);
jMenu4.setText("Edit");
jMenuBar2.add(jMenu4);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
arifmenu.setText("Data");
arifdesa.setText("Desa");
arifdesa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
arifdesaActionPerformed(evt);
}
});
arifmenu.add(arifdesa);
arifdata.setText("Data Covid19");
arifdata.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
arifdataActionPerformed(evt);
}
});
arifmenu.add(arifdata);
jMenuBar1.add(arifmenu);
ariflog.setText("Logout");
ariflog.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ariflogActionPerformed(evt);
}
});
jMenuBar1.add(ariflog);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 279, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void arifdesaActionPerformed(java.awt.event.ActionEvent evt) {
DataDesa ds = new DataDesa();
ds.setVisible(true);
}
private void arifdataActionPerformed(java.awt.event.ActionEvent evt) {
DataCovid19 co = new DataCovid19();
co.setVisible(true);
}
private void ariflogActionPerformed(java.awt.event.ActionEvent evt) {
Login log = new Login();
log.setVisible(true);
setVisible(false);
dispose();
}
/**
* @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(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenuItem arifdata;
private javax.swing.JMenuItem arifdesa;
private javax.swing.JMenu ariflog;
private javax.swing.JMenu arifmenu;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenu jMenu4;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuBar jMenuBar2;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}
4. Buat new java class untuk membuat Pie Chart, masukkan kode berikut :
package UTS_ArifRamdani;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
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;
public class PieUts extends JFrame {
double n1=0,n2=0, n3=0, n4=0;
public void setNilai(String nilai1, String nilai2, String nilai3, String nilai4){
try {
n1 = Double.parseDouble(nilai1);
} catch (NumberFormatException ex){}
try {
n2 = Double.parseDouble(nilai2);
} catch (NumberFormatException ex){}
try {
n3 = Double.parseDouble(nilai3);
} catch (NumberFormatException ex){}
try {
n4 = Double.parseDouble(nilai4);
} catch (NumberFormatException ex){}
this.setSize(600, 400);
this.setTitle("Diagram Pie Data Covid-19");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuatdiagram/chart jfreechart
//Membuat/mengkakulasikandata char
PieDataset dataset = buildData();
PieDataset dataset1 = buildData1();
// Membuatchart berdasarkandata yang adapadadataset
JFreeChart chart = buildChart(dataset, "Data Penduduk Yang Terkena Covid 19");
JFreeChart chart1 = buildChart1(dataset1, "Perbandingan Data Keselamatan");
// Memasukanchart padapanel agar lebihmudahditampilkanpadakomponenswing containe
ChartPanel pieChart= new ChartPanel(chart);
ChartPanel pieChart1= new ChartPanel(chart1);
//memasukanchart panel kedalamjpanel
this.setContentPane(pieChart);
JPanel panel = new JPanel(new GridLayout(2, 2));
panel.add(new ChartPanel(chart));
panel.add(new ChartPanel(chart1));
setContentPane(panel);
}
private JFreeChart buildChart(PieDataset dataset, String judul) {
JFreeChart chart = ChartFactory.createPieChart3D("Data Penduduk Yang Terkena Covid 19", // Judul Chart
dataset, // data chart yang akan di tampilkan
true, // jika ya, maka akan legend chart/diagram ditampilkan
true,
false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setForegroundAlpha(0.6f);
return chart;
}
private JFreeChart buildChart1(PieDataset dataset, String judul) {
JFreeChart chart1 = ChartFactory.createPieChart3D("Perbandingan Data Keselamatan", // Judul Chart
dataset, // data chart yang akan di tampilkan
true, // jika ya, maka akan legend chart/diagram ditampilkan
true,
false);
PiePlot3D plot = (PiePlot3D) chart1.getPlot();
plot.setForegroundAlpha(0.6f);
return chart1;
}
private PieDataset buildData() {
DefaultPieDataset dataSet= new DefaultPieDataset();
dataSet.setValue("Positif"+n1, n1);
dataSet.setValue("PDP"+n2, n2);
dataSet.setValue("ODP"+n3, n3);
return dataSet;
}
private PieDataset buildData1() {
DefaultPieDataset dataSet1= new DefaultPieDataset();
dataSet1.setValue("Kematian"+n4, n4);
dataSet1.setValue("Data Termasuk Positif, PDP, ODP",n1+n2+n3);
return dataSet1;
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new PieUts().setVisible(true);
}
});
}
}