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