Rabu, 01 April 2020

UAS Komputer Grafik Arif Ramdani 171011400897

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


Senin, 30 Maret 2020

UTS Komputer Grafik COVID-19 By Arif Ramdani 171011400897

1. Pertama, buatlah new project pada aplikasi netbeans. Download JFree Chart disini. Setelah itu tambahkan library JFreeChart yang sudah diunduh ke dalam project yang sudah dibuat. Pada libraries -> Klik kanan -> Add Jar/Folder -> Pilih semua file.



2. Kemudian buat JFrame Form dengan nama "home" kemudian desain seperti ini :

3. Buatlah new java class dan masukan kode sebagai berikut:



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

4. Pada JFrame "home", tambahkan action pada button simpan dengan klik kanan pada button-> pilih Event -> Action -> actionPerformed, sehingga button tersebut memiliki sebuah aksi jika diklik.

Bisa juga dengan cara double click pada menu design. Masukkan kode sebagai berikut:

int a, b, c, d;

             a=Integer.parseInt(arifpo.getText());
             b=Integer.parseInt(arifpd.getText());
             c=Integer.parseInt(arifod.getText());
             d=Integer.parseInt(arifke.getText());
            
             arifpoh.setText(""+a);
             arifpdh.setText(""+b);
             arifodh.setText(""+c);
             arifkeh.setText(""+d);


5. Masukkan kode berikut pada button Grafik:

PieUts obj1 = new PieUts();

        obj1.setNilai(arifpoh.getText(),arifpdh.getText(),arifodh.getText(),arifkeh.getText());
        obj1.setVisible(true);
        dispose();

6. Running program dan masukkan data:
7. Maka akan tampil seperti ini:


Untuk program yang sudah jadi, bsia di download di sini:






Minggu, 29 Maret 2020

Membuat Program Grafik Sederhana

Assalamualaikum, dalam memenuhi tugas mata kuliah Komputer Grafik, kali ini saya akan menjelaskan Tutorial Membuat Program Grafik Sederhana.

Untuk membuat grafik pada program java, kita dapat menggunakan library gratis yaitu JFreeChart.Terdapat beberapa macam grafik yang dapat ditampilkan di antaranya: Pie Chart, Bar Chart, Line Chart, XY Chart, 3D Chart, dan Bubble Chart. Namun kali ini kita hanya akan membahas tentang Pie Chart.

1. Sebelum memulai, Unduh library JFreeChart terlebih dahulu disini.
2. Buatlah sebuah project, kemudian buat java class seperti ini.

3. Buat java JFrameForm dan design seperti ini:

4. Tambahkann library JFreeChart yang sudah diunduh ke dalam project yang sudah dibuat. Pada libraries -> Klik kanan -> Add Jar/Folder -> Pilih semua file.

5. Pada Source java class, tambahkan kode seperti ini:

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;
/**
 *
 * @author Arif Ramdani
 */
public class PieChart extends JFrame{

    public PieChart() {
//inisialisasiframe
        this.setSize(600, 400);
        this.setTitle("Diagram PIE by Arif Ramdani");
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuatdiagram/chart jfreechart
//Membuat/mengkakulasikandata char
    PieDataset dataset = buildData();
// Membuatchart berdasarkandata yang adapadadataset
    JFreeChart chart = buildChart(dataset, "Pie Chart");
// Memasukanchart padapanel agar lebihmudahditampilkanpadakomponenswing containe
    ChartPanel pieChart= new ChartPanel(chart);
//memasukanchart panel kedalamjpanel
    this.setContentPane(pieChart);
}

private JFreeChart buildChart(PieDataset dataset, String judul) {
JFreeChart chart = ChartFactory.createPieChart3D(judul, // JudulChart
        dataset, // data chart yang akanditampilkan
        true, // jikaya, makaakanlegend chart/diagram ditampilkan
        true,
        false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(290);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5f);
return chart;
}

private PieDataset buildData() {
    DefaultPieDataset dataSet= new DefaultPieDataset();
    dataSet.setValue("Data 1", 45);
    dataSet.setValue("Data 2", 30);
    dataSet.setValue("Data 3", 15);
    dataSet.setValue("Data 4", 10);
 
    return dataSet;
}

public static void main(String[] args) {
try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
    }
    SwingUtilities.invokeLater(new Runnable() {
    @Override
public void run() {
new PieChart().setVisible(true);
        }
    });
}
}

Jadi seperti ini:


6. Pada JFrame, tambahkan action pada button PieChart dengan klik kanan pada button -> pilih Event -> Action -> actionPerformed, sehingga button tersebut memiliki sebuah aksi jika di klik. 





Tambahkan kode sebagai berikut:

    PieChart obj1 = new PieChart();
        obj1.setVisible(true);     
    }   
7. Run program kemudian klik Button "Pie Chart", dan akan muncul hasilnya seperti ini: