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:






Tidak ada komentar:

Posting Komentar