Toturial Membuat Aplikasi Database dan menampilkan Output Grafik
- igusta willyarto
- Jun 4, 2020
- 4 min read
Heeyhoo,
Di post ini, saya akan menjelaskan langkah-langkah pembuatan aplikasi database yang nantinya akan mengeluarkan output berupa grafik. Saya membuat toturial ini untuk memenuhi tugas UAS mata kuliah Komputer Grafik. Semoga ini menambah wawasan anda :).
Requirements
Sebelum dimulai, dibawah ini merupakan hal-hal yang diperlukan untuk toturial ini :
XAMPP
Netbeans (Aplikasi yang saya gunakan)
MySQL JDBC Driver (Biasanya terdapat di lokasi library netbeans)
Configure phpMyAdmin
Buka aplikasi xampp yang telah kalian install, kemudian start module Apache dan MySQL :

Setelah itu, buka phpMyAdmin di browser kalian (http://localhost/phpmyadmin/). Click New, masukan nama database kalian, click create :

Kemudian, buat table di dalam database yang telah di buat. Disini saya membuat 2 table yaitu table data dan table covid :

Masukan variable serta propertiesnya setelah itu click save :

Perlu diketahui cara pembuatan setiap table itu sama, hanya variablenya saja yang berbeda,
Table data

Table covid

Set-up NetBeans
Pertama, Import library yang ada dan MySQL JDBC Driver :
Right click library > Add JAR/Folder

Right click library > Add Library

Kemudian, buat new project :
New project > Java > Java Application > nama project

Setelah itu, buat new package:
Right click Source Package > New > Java Package > nama package

Buat Java Class "connect" di dalam package yang telah dibuat :

Kemudian, buat dua JFrame Form "DataPenduduk" dan "DataCovid" di dalam package yang sama :

Set-up sudah selesai, kita lanjut ke bagian selanjutnya.
Java Class "connect"
Masukan import ke dalam class "connect" :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
Kemudian masukan source kode berikut untuk menyambungkan aplikasi dengan MySQL :
public class connect {
private static Connection MySQLConfig;
public static Connection configDB()throws SQLException{
try{
String url ="jdbc:mysql://localhost:3306/penduduk";
String user = "root";
String pass ="";
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
MySQLConfig = DriverManager.getConnection(url, user, pass);
}catch(SQLException e){
System.out.println("Koneksi ke Database Gagal " + e.getMessage());
}
return MySQLConfig;
}
}
Seperti ini :

Data Penduduk
Pertama, design JFrame seperti ini :

Ubah variable Text Field sesuai nama kolom, Button sesuai namanya, dan Table menjadi "tablePenduduk"
Kemudian, masukan import ke JFrame "DataPendudukan" :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import java.awt.HeadlessException;
import javax.swing.table.DefaultTableModel;
Setelah itu, masukan source code berikut ke dalam public class "DataKependudukan" :
private void blank(){
wilayah.setEditable(true);
wilayah.setText(null);
anak.setText(null);
dewasa.setText(null);
lansia.setText(null);
}
private void tampilkan(){
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Wilayah");
model.addColumn("Anak");
model.addColumn("Dewasa");
model.addColumn("Lansia");
try{
String sql = "SELECT * FROM DATA";
java.sql.Connection conn = (Connection)connect.configDB();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet res = stm.executeQuery(sql);
while(res.next()){
model.addRow(new Object[]{res.getString(1),res.getString(2),res.getString(3),res.getString(4)});
}
tabelpenduduk.setModel(model);
}catch (SQLException e){
System.out.println("Error : " + e.getMessage());
}
}
public DataPenduduk() {
initComponents();
tampilkan();
blank();
}
Seperti ini :

Setelah itu, double click pada button "tambah", dan masukan source code berikut :
try{
String sql = "INSERT INTO data VALUES ('"+wilayah.getText()+"','"+anak.getText()+"','"+dewasa.getText()+"','"+lansia.getText()+"')";
java.sql.Connection conn = (Connection)connect.configDB();
java.sql.PreparedStatement pstm = conn.prepareStatement(sql);
pstm.execute();
JOptionPane.showMessageDialog(null, "Proses Simpan Data Berhasil");
tampilkan();
blank();
}catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
Double click pada button "hapus", dan masukan source code berikut :
try{
String sql = "DELETE FROM data WHERE nama_wilayah='"+wilayah.getText()+"'";
java.sql.Connection conn = (Connection)connect.configDB();
java.sql.PreparedStatement pstm = conn.prepareStatement(sql);
pstm.execute();
JOptionPane.showMessageDialog(null, "Hapus Data Berhasil");
}catch(HeadlessException | SQLException e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
tampilkan();
blank();
}
Double click pada button "reset", dan masukan source code berikut :
blank();
Double click pada button "piechart", dan masukan source code berikut :
String Wilayah = wilayah.getText();
String Anak = anak.getText();
String Dewasa = dewasa.getText();
String Lansia = lansia.getText();
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("ANAK",new Integer(Anak));
dataset.setValue("DEWASA",new Integer(Dewasa));
dataset.setValue("LANSIA",new Integer (Lansia));
JFreeChart chart1 = ChartFactory.createPieChart(Wilayah, dataset, false, false, false);
PiePlot plot2 = (PiePlot) chart1.getPlot();
ChartFrame frame = new ChartFrame("data "+Wilayah,chart1);
frame.setVisible(true);
frame.setSize(450,500);
Kemudian di tab Design, tambahkan event pada table dan masukan source code berikut :
Right Click > Events > Mouse > mouseClicked
int row = tabelpenduduk.rowAtPoint(evt.getPoint());
String nama_wilayah = tabelpenduduk.getValueAt(row, 0).toString();
wilayah.setText(nama_wilayah);
String ttl_anak = tabelpenduduk.getValueAt(row, 1).toString();
anak.setText(ttl_anak);
String ttl_dewasa = tabelpenduduk.getValueAt(row, 2).toString();
dewasa.setText(ttl_dewasa);
String ttl_lansia = tabelpenduduk.getValueAt(row, 3).toString();
lansia.setText(ttl_lansia);
Seperti ini :



Data Covid
Pertama, design JFrame seperti ini :

Ubah variable Text Field sesuai nama kolom, Button sesuai namanya, dan Table menjadi "tablecovid"
Kemudian, masukan import ke JFrame "DataCovid" :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import java.awt.HeadlessException;
import javax.swing.table.DefaultTableModel;
Setelah itu, masukan source code berikut ke dalam public class "DataCovid" :
private void blank(){
wilayah.setText(null);
odp.setText(null);
pdp.setText(null);
positif.setText(null);
}
private void tampilkan(){
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Wilayah");
model.addColumn("ODP");
model.addColumn("PDP");
model.addColumn("Positif");
try{
String sql = "SELECT * FROM COVID";
java.sql.Connection conn = (Connection)connect.configDB();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet res = stm.executeQuery(sql);
while(res.next()){
model.addRow(new Object[]{res.getString(1),res.getString(2),res.getString(3),res.getString(4)});
}
tabelcovid.setModel(model);
}catch (SQLException e){
System.out.println("Error : " + e.getMessage());
}
}
public DataCovid() {
initComponents();
tampilkan();
blank();
}
Seperti ini :

Setelah itu, double click pada button "tambah", dan masukan source code berikut :
try{
String sql = "INSERT INTO covid VALUES ('"+wilayah.getText()+"','"+odp.getText()+"','"+pdp.getText()+"','"+positif.getText()+"')";
java.sql.Connection conn = (Connection)connect.configDB();
java.sql.PreparedStatement pstm = conn.prepareStatement(sql);
pstm.execute();
JOptionPane.showMessageDialog(null, "Proses Simpan Data Berhasil");
tampilkan();
blank();
}catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
Double click pada button "hapus", dan masukan source code berikut :
try{
String sql = "DELETE FROM covid WHERE n_wilayah='"+wilayah.getText()+"'";
java.sql.Connection conn = (Connection)connect.configDB();
java.sql.PreparedStatement pstm = conn.prepareStatement(sql);
pstm.execute();
JOptionPane.showMessageDialog(null, "Hapus Data Berhasil");
}catch(HeadlessException | SQLException e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
tampilkan();
blank();
}
Double click pada button "reset", dan masukan source code berikut :
blank();
Double click pada button "piechart", dan masukan source code berikut :
String Wilayah = wilayah.getText();
String Odp = odp.getText();
String Pdp = pdp.getText();
String Positif = positif.getText();
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("ODP",new Integer(Odp));
dataset.setValue("PDP",new Integer(Pdp));
dataset.setValue("POSITIF",new Integer (Positif));
JFreeChart chart1 = ChartFactory.createPieChart(Wilayah, dataset, false, false, false);
PiePlot plot2 = (PiePlot) chart1.getPlot();
ChartFrame frame = new ChartFrame("data "+Wilayah,chart1);
frame.setVisible(true);
frame.setSize(450,500);
}
Kemudian di tab Design, tambahkan event pada table dan masukan source code berikut :
Right Click > Events > Mouse > mouseClicked
int row = tabelcovid.rowAtPoint(evt.getPoint());
String n_wilayah = tabelcovid.getValueAt(row, 0).toString();
wilayah.setText(n_wilayah);
String ttl_anak = tabelcovid.getValueAt(row, 1).toString();
odp.setText(ttl_anak);
String ttl_dewasa = tabelcovid.getValueAt(row, 2).toString();
pdp.setText(ttl_dewasa);
String ttl_lansia = tabelcovid.getValueAt(row, 3).toString();
positif.setText(ttl_lansia);
Seperti ini :



Hasil
Data Penduduk :
Java

Database :

Data Covid :
Java

Database

Fin.
Itu saja toturial dari saya. Jika ada pertanyaan bisa ditanyakan di kolom komentar. Semoga post ini menambah wawasan anda. Thanks.
Comments