Senin, 01 Juni 2020

UTS

Langkah pertama buat project baru klik file->New Project


kemudian Import File Library jfreechart • Klik kanan di libraries lalu pilih add JAR/Folder lalu pilih file yg disediakan



kemudian membuat New Java Class



kemudian masukan import ke JavaClass yg tadi di buat

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;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JPanel;
import org.jfree.chart.plot.PiePlot;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;



Lalu masukan method berikut untuk mengambil nilai.

public class PieDika extends JFrame{
 
 double n1_dika=0, n2_dika=0, n3_dika=0, n4_dika=0;
 public void setNilai (String nilai1_dika, String nilai2_dika,
         String nilai3_dika, String nilai4_dika){
        try{
            n1_dika = Double.parseDouble(nilai1_dika);
        }catch (NumberFormatException e){}
        try{
            n2_dika = Double.parseDouble(nilai2_dika);
        }catch (NumberFormatException e){}
        try{
            n3_dika= Double.parseDouble(nilai3_dika);
        }catch (NumberFormatException e){}
        try{
            n4_dika= Double.parseDouble(nilai4_dika);
        }catch (NumberFormatException e){}



Tambahkan komonen grafik dan memberi persentase kasus

this.setSize(800,700);
this.setTitle("UTS Komputer Grafik by Andhika Dwi Prastyo");
JPanel n_Dika = new JPanel(new GridLayout(2, 2));

double jml_kasus = n1_dika+n2_dika+n3_dika;
double total=n1_dika+n2_dika+n3_dika+n4_dika;
double total1=n1_dika+n2_dika+n3_dika;
double persentase=jml_kasus*100;
double jml_persentase=persentase/total;
double kematian=n4_dika/total;
double jml_kematian=kematian*100;
double positif=n1_dika/total1;
double jml_positif=positif*100;
double pdp=n2_dika/total1;
double jml_pdp=pdp*100;
double odp=n3_dika/total1;
double jml_odp=odp*100;



DefaultPieDataset Dataset1_Dika = new DefaultPieDataset();
Dataset1_Dika.setValue("Positif : "+jml_positif+"%",jml_positif);
Dataset1_Dika.setValue("PDP : "+jml_pdp+"%",jml_pdp);
Dataset1_Dika.setValue("ODP : "+jml_odp+"%",jml_odp);

DefaultPieDataset Dataset2_Dika = new DefaultPieDataset();
Dataset2_Dika.setValue("Data Termasuk Positif, PDP, ODP : "
+jml_persentase+"%",jml_persentase);
Dataset2_Dika.setValue("Kematian : "+jml_kematian+"%",jml_kematian);
JFreeChart Chart1_Dika = ChartFactory.createPieChart3D
("Data Penduduk yang Terkena COVID-19",
Dataset1_Dika,
false, false,
false);
PiePlot3D Plot1_Dika = (PiePlot3D) Chart1_Dika.getPlot();
Plot1_Dika.setForegroundAlpha(0.6f);
Plot1_Dika.setCircular(true);


JFreeChart Chart2_Dika = ChartFactory.createPieChart3D
("Perbandingan Data Keselamatan",
Dataset2_Dika, false, false, false);
PiePlot3D Plot2_Dika = (PiePlot3D) Chart2_Dika.getPlot();
Plot2_Dika.setForegroundAlpha(0.6f);
Plot2_Dika.setCircular(true);

n_Dika.add(new ChartPanel(Chart1_Dika));
n_Dika.add(new ChartPanel(Chart2_Dika));
n_Dika.setPreferredSize(new Dimension(800, 600));
setContentPane(n_Dika);
    }
}



kemudian membuat New Jframe Form



kemudian desain seperti berikut



masukan source code berikut pada tombol simpan

int positif,pdp,odp,kematian;
positif = Integer.parseInt(POSITIF.getText());
pdp = Integer.parseInt(PDP.getText());
odp = Integer.parseInt(ODP.getText());
kematian = Integer.parseInt(KEMATIAN.getText());
L1_dika.setText(""+positif+" Orang");
L2_dika.setText(""+pdp+" Orang");
L3_dika.setText(""+odp+" Orang");

L4_dika.setText(""+kematian+" Orang");



kemudin masukan code berikut pada tombol grafik

PieDika tampil_dika = new PieDika();
tampil_dika.setNilai(POSITIF.getText(),PDP.getText(),
ODP.getText(),KEMATIAN.getText());
tampil_dika.setVisible(true);

dispose();     



kemudian run program







Link Uts : https://drive.google.com/file/d/1nSD1h0MQuId9bRz1N-9YkrCGQCMPR1tb/view?usp=sharing





Tidak ada komentar:

Posting Komentar