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: