Langsung ke konten utama

UAS KOMPUTER GRAFIK(TUTORIAL MEMBUAT GRAFIK INPUT DARI DATABASE)

Pengumpulan tugas UAS
Nama : Melininda Dwi Fitria
Nim : 171011401198
Kelas : 06TPLE014
Halo Gaes!!!
Sebelumnya kita sudah membahas mengenai cara membuat grafik input pie kemudian menginput suatu data dan mengaplikasikannya kedalam grafik atau diagram. Nah.. Pada tutorial ini kita akan belajar cara membuat  Grafik input pemograman visual java menggunakan NetBeans tanpa menggunakan web server seperti apache, dari database ...
Apasih database itu?
database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Jadi kita dapat menampilkan suatu data yang telah kita simpan sebelumnya kemudian kita akan mencoba membuat grafik dari data tersebut
Dan hasil akhir dari tutorial ini akan nampak seperti gambar berikut ini:

Yukkk kita mulai tutorialnya...
Pada xampp, hidupkan apache dan sql 

Bukalah halaman : localhost/phpmyadmin Pada browser kamu !

Masuk menu Databases

Buat data base baru dengan nama"grafik" dan klik create

Pada data base"grafik" buat tabel "nilai" dengan 3 columns, lalu klik go

Pada data base"grafik" buat tabel "datadiri" dengan 3 columns, lalu klik go


Masuk Netbean, dan buat project baru dengan nama" MIAFILIO ", klik finish

Buatlah JframeForm dengan nama classnya " nilai " seperti dibawah ini, klik finish

Dan design seperti tampilan dibawah ini


Klik kanan pada library dan pilih add JAR/Folder , import conector mysql dan jfreechart nya

seperti tampilan dibawah ini

Pada source class" nilai " Masukkan import dibawah ini
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;

Seperti tampilan dibawah ini


Tambahkan beberapa properties seperti 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;

Seperti tampilan dibawah ini



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

Seperti tampilan dibawah ini

Buatlah method untuk koneksi dibawah ini
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); 
        }  
    }

Seperti tampilan dibawah ini

Buat method untuk kosongkan 1 dibawah ini
private void kosongkan_MIAFILIO(){ 
        jTextField1_MIAFILIO.setText(""); 
        jTextField2_MIAFILIO.setText("");
        jTextField3_MIAFILIO.setText("");
    }
    
Seperti tampilan dibawah ini

Buat method untuk kosongkan 2 dibawah ini
private void kosongkan1_MIAFILIO(){ 
        nim_MIAFILIO.setText(""); 
        nama_MIAFILIO.setText("");
        jComboBox1.setSelectedIndex(0);
    }

Seperti tampilan dibawah ini

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

Seperti tampilan dibawah ini

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

Seperti tampilan dibawah ini

Kembali lagi ke design, pada jComboBox(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";
        }
Seperti tampilan dibawah ini

Kembali lagi ke design, pada button save(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); 
        }
    }

Seperti tampilan dibawah ini


Kembali lagi ke design, pada button save(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); 
        }

Seperti tampilan dibawah ini
Kembali lagi ke design, pada button clear(kiri) masukkan source berikut     
kosongkan1_MIAFILIO();

Seperti tampilan dibawah ini
Kembali lagi ke design, pada button clear(kanan) masukkan source berikut
kosongkan_MIAFILIO();
Seperti tampilan dibawah ini
Kembali lagi ke design, 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();
Seperti tampilan dibawah ini
Kembali lagi ke design, 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();
        }
Seperti tampilan dibawah ini

Kembali lagi ke design, 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();
        }

Seperti tampilan dibawah ini

Kembali lagi ke design, 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);
        }
Seperti tampilan dibawah ini
Kembali lagi ke design, 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);
        }
Seperti tampilan dibawah ini
Buatlah new java main class dengan nama “pienilai”, seperti berikut
Masukkan import
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;
Seperti tampilan dibawah ini
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);
}
Seperti tampilan dibawah ini

Masukkan methode  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;
    }
Seperti tampilan dibawah ini

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;
}
Seperti tampilan dibawah ini

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 pienilai().setVisible(true); 
                } 
            });
        }
Seperti tampilan dibawah ini
Hasil program

Hasil program setelah dirunning


Hasil program setelah diinput dan klik button save (kiri),lalu diklik button tampilkan dan pilih yg tadi disave


Hasil program setelah diinput dan klik button save (kanan),lalu diklik button tampilkan dan pilih yg tadi disave



'note button tampilkan untuk menampilkan data yang telah disimpan di database 

Hasil program setelah di klik grafik
Selesai

Diatas adalah hasil program yang saya buat apabila ada kekurangan,

Mohon maaf bila terdapat ketidaksesuaian 

Dan terimakasih








Komentar