Langsung ke konten utama

UAS Komputer Grafik (Membuat aplikasi database)

Assalamu'alaikum readers

Pada postingan ini saya akan menjelaskan bagaimana cara membuat aplikasi database dengan menampilkan hasil grafik sebagai laporannya,sebelum lanjut ke langkah-langkahnya, saya ingin menjelaskan sedikit apa itu Database




Database atau basis data adalah kumpulan berbagai data dan informasi yang tersimpan dan tersusun di dalam komputer secara sistematik yang dapat diperiksa, diolah atau dimanipulasi dengan menggunakan program komputer untuk mendapatkan informasi dari basis data tersebut. Istilah database sendiri mengacu pada koleksi data-data yang saling terkait satu sama lain dimana tujuan database adalah dapat digunakan untuk mengelola data dengan lebih efektif dan efisien.

Langkah-Langkah Membuat Aplikasi Database dengan menampilkan hasil grafik


Langkah pertama:


Buka Xampp, kemudian hidupkan Apache dan MySql





Bukalah halaman : localhost/phpmyadmin Pada browser, tidak perlu menggunakan koneksi internet



Masuk ke menu database





Buat Database baru dengan nama "grafik" dan klik create, kemudian buat tabel "nilai" didalam database grafik dengan 3 columns, klik go








Buat tabel "datadiri" didalam database grafik dengan 3 columns, klik go



Sebelumnya, input isi columns sesuai kebutuhan dan NIM indexnya menjadi primary dan klik save






Buka NetBeans, dan buat projek baru dengan nama "Miafilio", dan finish




Buatlah JFrameFrom dengan nama classnya "nilai" seperti dibawah ini, dan finish



Design seperti dibawah ini




Klik kanan pada library dan pilih add JAR/Folder pilih connector mysql dan jfreechartnya, klik open








Pada source class "nilai" masukkan import dibawah ini:

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;


Tambahkan beberapa properties seperti dibawah ini:

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;

Masukkan method dan source dimensi tata letak gui dibawah ini, pada konstruktor nilai

public nilai() {

        initComponents();
        koneksi_MIAFILIO();       
        kosongkan_MIAFILIO();       
        tabel_MIAFILIO();
        kosongkan1_MIAFILIO();
        tabel1_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);
}

Buatlah method untuk koneksi

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);
        }
       

    }

Buat method untuk kosongkan 1, dibawah ini



    private void kosongkan_MIAFILIO(){
        jTextField1_MIAFILIO.setText("");
        jTextField2_MIAFILIO.setText("");
        jTextField3_MIAFILIO.setText("");
    }


Buat method untuk kosongkan 2, dibawah ini

private void kosongkan1_MIAFILIO(){

        nim_MIAFILIO.setText("");
        nama_MIAFILIO.setText("");
        jComboBox1.setSelectedIndex(0);

    }


Buat method untuk tabel 1, dibawah ini

 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);
        }
    }

Buat method untuk tabel 2, dibawah ini

private void tabel1_MIAFILIO(){

        DefaultTableModel t_MIAFILIO= new DefaultTableModel();
        t_MIAFILIO.addColumn("NIM");
        t_MIAFILIO.addColumn("Nama");
        t_MIAFILIO.addColumn("Jurusan");
        tabel_MIAFILIO.setModel(t_MIAFILIO); try{ res_MIAFILIO=stat_MIAFILIO.executeQuery("select * from datadiri");
        while (res_MIAFILIO.next()) {
            t_MIAFILIO.addRow(new Object[]{
                res_MIAFILIO.getString("NIM"),
                res_MIAFILIO.getString("Nama"),
                res_MIAFILIO.getString("Jurusan"),
            });
        }
        }catch (Exception e) {
            JOptionPane.showMessageDialog(rootPane, e);
        }

    }


Pada jComboBox1 disebelah kiri, masukkan source berikut

   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";
        }
    }


Pada button save disebelah kiri masukkan source berikut

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);
        }
       

    }                                             


Pada button save disebelah kanan masukkan source berikut

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); 

        }


Pada button clear (kiri) masukkan source berikut

kosongkan1_MIAFILIO();

Pada button clear (kanan) masukkan source berikut

kosongkan_MIAFILIO();


Pada button grafik (kanan) masukkan source berikut


 pienilai obj1_MIAFILIO = new pienilai();
        obj1_MIAFILIO.setNilai(jTextField2_MIAFILIO.getText(),jTextField3_MIAFILIO.getText());
        obj1_MIAFILIO.setVisible(true);
        dispose();

Pada button tampilkan (kiri) masukkan source berikut

 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();
        }

    
Pada button tampilkan (kanan) masukkan source berikut

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();
        }


Pada button hapus (kanan) masukkan source berikut

 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);
        }

Pada button hapus (kiri) masukkan source berikut

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);
        }


Buatlah new java main class dengan nama "pienilai", seperti dibawah ini




Masukkan import

package database;
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;

Masukkan inisialisasi frame untuk diagram pie

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);
}


Masukkan method parameter kondisi chart 


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;


Buatlah method isi dataset chart


 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;
}


Buatlah method main

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 pie().setVisible(true);
                }
            });
        }


Hasil Program

Setelah di running




Hasil program setelah diinput dan klik button save (kiri) klik button tampilkan dan pilih yang sebelumnya disave



Hasil program setelah diinput dan klik button save (kanan) klik button tampilkan dan pilih yang sebelumnya disave




NB: button tampilkan untuk menampilkan data yang telah disimpan di database


Hasil program setelah klik button grafik




NB: Pastikan database terhubung terlebih dulu sebelum mengoding 😉

Selesai











Komentar

Postingan populer dari blog ini

UTS KEAMANAN KOMPUTER_IZMI KURNIA

 20201_Secure_UTS_07TPLE014_Izmi Kurnia   1.       Didalam keamanan computer, apa yang perlu diamankan dan diamankan dari apa? Jawaban: Keamanan computer, t indakan atau cara yang dilakukan untuk mencegah atau menanggulangi dan menjaga hardware, program, jaringan dan data dari bahaya fisik dan kejadian yang dapat menyebabkan kehilangan yang besar atau kehancuran. Keamanan fisik termasuk perlindungan terhadap kebakaran, bencana alam, pencurian, vandalism dan teroris Yang perlu diamankan adalah: – Bangunan – Ruang Komputer – Komputer – Media Penyimpanan Diamankan terhadap apa? • Lingkungan – Kebakaran – Iklim – Gempa Bumi dan Getaran – Air – Listrik – Petir • Orang Awalnya dianggap tidak penting sering diabaikan karena sering banyak kejadian, seperti pencurian fisik: laptop, harddisk, CD, Bencana alam   2.       Bagaimana solusi mengatasi ancaman dari kategori ancaman yang ada? Jawaban: ...