Kamis, 04 Juni 2020

Membuat Program Input Nilai Mahasiswa Menggunakan Netbeans

Membuat Program Input Nilai Mahasiswa Menggunakan Netbeans



Selamat datang kembali di blog saya, kali ini saya akan membuat program Input Nilai Mahasiswa. kali ini diperuntukan untuk memenuhi kebutuhan tugas UAS saya.

Ok langsung saja, jika di postingan saya kemarin mengenai program covid19 yang belum terkoneksi dengan database, kali ini saya akan membuat program sekalian terkoneksi dengan database.
yang di perlukan sekarang kita butuh konektor untuk mySql nya, jika kalian belum mempunyai kalian bisa download pada link di bawah.


Untuk keperluan yang lainnya jika kalian belum punya seperti jfreechats dll, kalian bisa melihat postingan saya di program covid19, di sana kalian bisa mendownloadnya.

sekarang kita buka netbeans untuk membuat project baru, kalian bisa ikutin petunjuk pada gambar di bawah.

Di sini saya membuat new project dengan nama input_Nilai_Mahasiswa setelah sudah memasukan nama priject click finish.
Setelah itu masukan class name disini saya memasukan nama GrafikInputMhs seperti gambar di bawah.


Oh iyah jangan lupa masukan file konektor mySQL nya pada libraries dan file-file yang di butuhkan, untuk caranya bisa lihat di postingan sebelumnya.

Kemudian masukan code di bawah pada class GrafikInputMhs.

package syaHenFebFahAna;

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;

/**
 *
 * @author Syakur nurokhman
 * nim : 171011401086
 */
public class grafikInputMhs extends JFrame{
    double syaHenFebFahAna = 0, syaHenFebFahAna1 = 0, syaHenFebFahAna2 = 0, syaHenFebFahAna3 = 0;
public void setNilai (String nilai1, String nilai2, String nilai3, String nilai4){
    try{ 
        syaHenFebFahAna = Double.parseDouble(nilai1);
        }catch (NumberFormatException e){};
        

    try{ syaHenFebFahAna1 = Double.parseDouble(nilai2);
        }catch (NumberFormatException e){};
        
    try{ syaHenFebFahAna2 = Double.parseDouble(nilai3);
        }catch (NumberFormatException e){};
        
    try{ syaHenFebFahAna3 = Double.parseDouble(nilai4);
        
       }catch (NumberFormatException e){};
       
    // CREATE SETTING FOR THE FRAME
    this.setSize(500,700);
    this.setTitle("Nilai Mahasiswa by Anang, Hendra, Febri, Fahri, Syakur");
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    // CREATE DATA FOR BOTH PIE CHART
    PieDataset HenSYaFebFahAna = FebHenSyaFahAna();
    PieDataset HenSYaFebFahAna2 = FebHenSyaFahAna2();
    
    // CREATE PIE CHART BASED ON PIE DATASET
    JFreeChart chartFebHenSyaFahAna = ChartFebHenSyaFahAna1Method(HenSYaFebFahAna,"Data Nilai Mahasiswa Universitas Pamulang");
    JFreeChart chartFebHenSyaFahAna2 = ChartFebHenSyaFahAna2Method(HenSYaFebFahAna2,"Perbandingan Nilai");
    
    // CREATE JPANEL TO INPUT GRAPHICS PIE WITH GRID 2,1
    JPanel pane = new JPanel(new GridLayout(2,1));
    
    //ADDING CHART 1 AND 2 TO PANEL 
    pane.add(new ChartPanel(chartFebHenSyaFahAna));
    pane.add(new ChartPanel(chartFebHenSyaFahAna2));
    
    // CREATE CONTENT FOR PANEL
    this.setContentPane(pane);
}
    // CREATING DATASET FOR BOTH PIE CHART 
public PieDataset FebHenSyaFahAna(){
        
    DefaultPieDataset setFahHenFebSyaAna = new DefaultPieDataset();
    setFahHenFebSyaAna.setValue("Absensi", syaHenFebFahAna);
    setFahHenFebSyaAna.setValue("Nilai Tugas", syaHenFebFahAna1);
    setFahHenFebSyaAna.setValue("Nilai UTS", syaHenFebFahAna2);
    return setFahHenFebSyaAna;
    }

public PieDataset FebHenSyaFahAna2(){
        
    DefaultPieDataset setFahHenFebSyaAnaDataSet = new DefaultPieDataset();
    setFahHenFebSyaAnaDataSet.setValue("Data: Absensi, Nilai Tugas, Nilai UTS",(((syaHenFebFahAna + syaHenFebFahAna1 + syaHenFebFahAna2) - syaHenFebFahAna3)
    /(syaHenFebFahAna + syaHenFebFahAna1 + syaHenFebFahAna2)*100));
    setFahHenFebSyaAnaDataSet.setValue("Nilai UAS",((syaHenFebFahAna3/(syaHenFebFahAna + syaHenFebFahAna1 + syaHenFebFahAna2))*100));
    return setFahHenFebSyaAnaDataSet;
}
    
private JFreeChart ChartFebHenSyaFahAna1Method(PieDataset FahHenFebSyaAnaDataset, String judul){
    
    JFreeChart jfcFahHenFebSyaAna = ChartFactory.createPieChart3D(judul, FahHenFebSyaAnaDataset, true, true, false);
    PiePlot3D ppFahHenFebSyaAna = (PiePlot3D) jfcFahHenFebSyaAna.getPlot(); ppFahHenFebSyaAna.setStartAngle(0);
    ppFahHenFebSyaAna.setDirection(Rotation.ANTICLOCKWISE); ppFahHenFebSyaAna.setForegroundAlpha(0.5f);
    return jfcFahHenFebSyaAna;
}

private JFreeChart ChartFebHenSyaFahAna2Method (PieDataset DataFebFahSyaHenAna, String judul){
    
    JFreeChart jfcFahHenFebSyaAna2 = ChartFactory.createPieChart3D(judul, DataFebFahSyaHenAna, true, true, false);
    PiePlot3D ppFahHenFebSyaAna2 = (PiePlot3D) jfcFahHenFebSyaAna2.getPlot(); ppFahHenFebSyaAna2.setStartAngle(0);
    ppFahHenFebSyaAna2.setDirection(Rotation.ANTICLOCKWISE); ppFahHenFebSyaAna2.setForegroundAlpha(0.5f);
    return jfcFahHenFebSyaAna2;
}

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

Membuat Program Covid19 Menggunakan Netbeans

Salam!

Balik lagi di blog saya, kali ini saya akan membuat program input data covid19 menggunakan netbeans, progm ini di peruntukan untuk memenuhi kebutuhan tugas UTS saya.

ok langsung saja kita buka netbeans nya terus bikin new project, ikuti langkah pada gambar di bawah ya.


maka akan seperti gambar di bawah, lalu isi Project Name Syakurnurokhman_pert_7_dan_8, atau isi sesuai dengan yang kalian inginkan lalu click finish.

lalu add libraries dengan cara Click kanan - Libraries - add JAR/Folder seperti gambar di bawah,



pilih jcommon.1.0.15.jar, jfreechart.1.0.12.jarjfreechart.1.0.19.zip jika kalian belum ada jar tersebut bisa download di bawah ini.
Jika sudah click open maka akan seperti gambar di bawah.


sekarang kita buat class dengan nama GrafikPieCovid19Click kanan - Package Syakurnurokhman_pert_7_dan_8New - Java Class, maka akan muncul menu seperti gambar di bawah lalu Click Finish.


Kemudian masuk code di bawah ini ke dalam class GrafikPieCovid19 yang sudah kita buat.
package syakurnurokhman_pert_7_dan_8;

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 GrafikPieCovid19 extends JFrame{
    double x1SyakurNurokhman = 0, x2SyakurNurokhman = 0, x3SyakurNurokhman = 0, x4SyakurNurokhman = 0;
public void setNilai (String nilai1, String nilai2, String nilai3, String nilai4){
    try{ 
        x1SyakurNurokhman = Double.parseDouble(nilai1);
        }catch (NumberFormatException e){};
        

    try{ x2SyakurNurokhman = Double.parseDouble(nilai2);
        }catch (NumberFormatException e){};
        
    try{ x3SyakurNurokhman = Double.parseDouble(nilai3);
        }catch (NumberFormatException e){};
        
    try{ x4SyakurNurokhman = Double.parseDouble(nilai4);
        
       }catch (NumberFormatException e){};
       
    // CREATE SETTING FOR THE FRAME
    this.setSize(500,700);
    this.setTitle("Data Covid-19 06 MEI 2020 by Syakur Nurokhman");
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    // CREATE DATA FOR BOTH PIE CHART
    PieDataset Data1Syakur = DataCOvid19();
    PieDataset Data2Syakur = DataCOvid19Syakur();
    
    // CREATE PIE CHART BASED ON PIE DATASET
    JFreeChart chartSyakur = ChartSyakurMethod(Data1Syakur,"DATA PENDUDUK JAWA BARAT YANG TERKENA COVID-19");
    JFreeChart chart2Syakur = ChartSyakur2Method(Data2Syakur,"PERBANDINGAN DATA KESELAMATAN");
    
    // CREATE JPANEL TO INPUT GRAPHICS PIE WITH GRID 2,1
    JPanel pane = new JPanel(new GridLayout(2,1));
    
    //ADDING CHART 1 AND 2 TO PANEL 
    pane.add(new ChartPanel(chartSyakur));
    pane.add(new ChartPanel(chart2Syakur));
    
    // CREATE CONTENT FOR PANEL
    this.setContentPane(pane);
}
    // CREATING DATASET FOR BOTH PIE CHART 
public PieDataset DataCOvid19(){
        
    DefaultPieDataset setSyakurNurokhman = new DefaultPieDataset();
    setSyakurNurokhman.setValue("Positif", x1SyakurNurokhman);
    setSyakurNurokhman.setValue("PDP", x2SyakurNurokhman);
    setSyakurNurokhman.setValue("ODP", x3SyakurNurokhman);
    return setSyakurNurokhman;
    }

public PieDataset DataCOvid19Syakur(){
        
    DefaultPieDataset sykaurDataset = new DefaultPieDataset();
    sykaurDataset.setValue("Data: Positive, PDP, ODP",(((x1SyakurNurokhman + x2SyakurNurokhman + x3SyakurNurokhman) - x4SyakurNurokhman)
    /(x1SyakurNurokhman + x2SyakurNurokhman + x3SyakurNurokhman)*100));
    sykaurDataset.setValue("Meninggal",((x4SyakurNurokhman/(x1SyakurNurokhman + x2SyakurNurokhman + x3SyakurNurokhman))*100));
    return sykaurDataset;
}
    
private JFreeChart ChartSyakurMethod (PieDataset dataSyakurNurokhman, String judul){
    
    JFreeChart jfcSyakur = ChartFactory.createPieChart3D(judul, dataSyakurNurokhman, true, true, false);
    PiePlot3D ppSyakurNurokhman = (PiePlot3D) jfcSyakur.getPlot(); ppSyakurNurokhman.setStartAngle(0);
    ppSyakurNurokhman.setDirection(Rotation.ANTICLOCKWISE); ppSyakurNurokhman.setForegroundAlpha(0.5f);
    return jfcSyakur;
}

private JFreeChart ChartSyakur2Method (PieDataset DataSyakur, String judul){
    
    JFreeChart jfcSyakur2 = ChartFactory.createPieChart3D(judul, DataSyakur, true, true, false);
    PiePlot3D ppSyakur = (PiePlot3D) jfcSyakur2.getPlot(); ppSyakur.setStartAngle(0);
    ppSyakur.setDirection(Rotation.ANTICLOCKWISE); ppSyakur.setForegroundAlpha(0.5f);
    return jfcSyakur2;
}

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

seperti gambar di bawah.





Selanjut kita akan membuat jFram From untuk mendesign tampilan dan menampung perintah pada class GrafikPieCovid19 , click kanan Package Syakurnurokhman_pert_7_dan_8New - jFram Form , maka akan muncul menu seperti gambar di bawah isi Class Name dengan nama DataCovid19 lalu Click Finish.


Sekarang kita design jFram Form seperti gambar di bawah.


Selanjutnya kita masukan code di bawah pada button simpan.

private void saveDataCovid19ActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
            int a, b, c, d;
            a = Integer.parseInt(InputSyakur.getText());
            b = Integer.parseInt(InputSyakur1.getText());
            c = Integer.parseInt(InputSyakur2.getText());
            d = Integer.parseInt(InputSyakur3.getText());
            angka.setText("" + a);
            angka1.setText("" + b);
            angka2.setText("" + c);
            angka3.setText("" + d);             
           
    } 

masukan juga code untuk buuton grafiknya.

 private void GafikSyakurActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        GrafikPieCovid19 uts = new GrafikPieCovid19();
        uts.setNilai(angka.getText(),angka1.getText(),angka2.getText(),angka3.getText());
        uts.setVisible(true);
    } 

Nah sekarang kita masukan code untuk running programnya.

 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(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        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(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(DataCovid19.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DataCovid19().setVisible(true);
            }
        });
    }

Jika sudah semua sekarang kita jalanin programnya dengan cara klik kanan pada jFrame Form DataCovid19 - Run File.



maka akan output nya seperti gambar di bawah, lalu isikan data dengan angka yang di inginkan lalu klik button simpan.


Setelah klik button simpan maka akan seperti gambar di bawah.


Untuk melihat grafik nya klik button grafik, maka akan seperti gambar di bawah.


Nah itu lah tutorial membuat program input covid19, selamat mencoba.

Selasa, 02 Juni 2020

Membuat Program Grafik Sederhana Menggunakan Netbeans


Hallo apa kabar?

Kembali lagi di blog saya, kali ini saya akan membuat tutorial program grafik line charts sederhana dengan java netbeans.

ok langsung saja kita buka netbeans nya terus bikin new project, ikuti langkah pada gambar di bawah ya.


jika sudah mengikuti langkah-langkah pada gambar di atas, maka akan muncul seperti gambar dibawah.


isi Project Name dengan nama syakurNurokhman_pert3&4 atau isi sesuai nama  yang anda inginkan, project location - Click browser untuk menyimpan project pada directory yang di inginkan. saran untuk menyimpan file project pada directory yang mudah di ingat, supaya nanti tidak lupa pada saat di butuhkan fil projectnya. jika sudah klik finish maka IDE netbeans akan otomatis menyediakan project yang sudah kita buat tadi, seperti gambar di bawah.


sekarang kita buat class Linecharts, Click kanan - Package Name - New - Java Class, maka akan muncul menu seperti gambar di bawah. isi class name Linecharts - Finish



Masukan code di bawah ke dalam class LineChart.

package syakurnurokhman_pert3dan4;
import java.awt.*; 
import java.awt.geom.*; 
import javax.swing.*;

public class LineCharts extends JPanel{ 
    public LineCharts() { this.setPreferredSize(new Dimension(400, 340));
    this.setBackground(Color.WHITE);
    }
    
    protected void paintComponent(Graphics g){
        super.paintComponent(g);
        Graphics2D Pertemua3dan4 = (Graphics2D) g;
        
        GeneralPath SyakurNurokhman = new GeneralPath(GeneralPath.WIND_NON_ZERO); 
        SyakurNurokhman.moveTo(30, 50); 
        SyakurNurokhman.lineTo(370,50); 
        SyakurNurokhman.moveTo(30,50); 
        SyakurNurokhman.lineTo(30, 290); 
        SyakurNurokhman.moveTo(30,290); 
        SyakurNurokhman.lineTo(370, 290); 
        SyakurNurokhman.moveTo(30,90); 
        SyakurNurokhman.lineTo(370, 90); 
        SyakurNurokhman.moveTo(30, 130); 
        SyakurNurokhman.lineTo(370, 130); 
        SyakurNurokhman.moveTo(30, 170); 
        SyakurNurokhman.lineTo(370, 170); 
        SyakurNurokhman.moveTo(30, 210); 
        SyakurNurokhman.lineTo(370, 210); 
        SyakurNurokhman.moveTo(30, 250); 
        SyakurNurokhman.lineTo(370, 250);
        
        //LineCharts 
        SyakurNurokhman.moveTo(45, 230); 
        SyakurNurokhman.lineTo(80, 192);
        SyakurNurokhman.moveTo(80,192);
        SyakurNurokhman.lineTo(115,90);     
        SyakurNurokhman.moveTo(115,90); 
        SyakurNurokhman.lineTo(150,130); 
        SyakurNurokhman.moveTo(150, 130); 
        SyakurNurokhman.lineTo(185,122); 
        SyakurNurokhman.moveTo(185, 122); 
        SyakurNurokhman.lineTo(220,94); 
        SyakurNurokhman.moveTo(220, 94); 
        SyakurNurokhman.lineTo(255,144); 
        SyakurNurokhman.moveTo(255, 144); 
        SyakurNurokhman.lineTo(290,72); 
        SyakurNurokhman.moveTo(290, 72); 
        SyakurNurokhman.lineTo(325,218); 
        SyakurNurokhman.moveTo(325, 218); 
        SyakurNurokhman.lineTo(360,218); 
        SyakurNurokhman.closePath(); 
        Pertemua3dan4.draw(SyakurNurokhman);
        
        Pertemua3dan4.drawString("120",7,50); 
        Pertemua3dan4.drawString("110",5,70); 
        Pertemua3dan4.drawString("100",7,90); 
        Pertemua3dan4.drawString("90",13,110); 
        Pertemua3dan4.drawString("80",13,130); 
        Pertemua3dan4.drawString("70",13,150); 
        Pertemua3dan4.drawString("60",13,170); 
        Pertemua3dan4.drawString("50",13,190); 
        Pertemua3dan4.drawString("40",13,210); 
        Pertemua3dan4.drawString("30",13,230); 
        Pertemua3dan4.drawString("20",13,250); 
        Pertemua3dan4.drawString("10", 13, 270); 
        Pertemua3dan4.drawString("0",20,290);
        Pertemua3dan4.drawString("N01",40,310); 
        Pertemua3dan4.drawString("N02",75,310); 
        Pertemua3dan4.drawString("N03",110,310); 
        Pertemua3dan4.drawString("N04",145,310); 
        Pertemua3dan4.drawString("N05",180,310); 
        Pertemua3dan4.drawString("N06",215,310); 
        Pertemua3dan4.drawString("N07",250,310); 
        Pertemua3dan4.drawString("N08",285,310);
        Pertemua3dan4.drawString("N09",320,310); 
        Pertemua3dan4.drawString("N10",355,310);
        
        Shape kotak1 = new Rectangle2D.Double(46,225,5,5); 
        Shape kotak2 = new Rectangle2D.Double(77,192,5,5);
        Shape kotak3 = new Rectangle2D.Double(113,90,5,5); 
        Shape kotak4 = new Rectangle2D.Double(149,128,5,5); 
        Shape kotak5 = new Rectangle2D.Double(183,120,5,5);
        Shape kotak6 = new Rectangle2D.Double(218,94,5,5);
        Shape kotak7 = new Rectangle2D.Double(253,142,5,5);
        Shape kotak8 = new Rectangle2D.Double(287,72,5,5);
        Shape kotak9 = new Rectangle2D.Double(323,216,5,5); 
        Shape kotak10 = new Rectangle2D.Double(358,216,5,5);
        Pertemua3dan4.setColor(Color.red);
        Pertemua3dan4.fill(kotak1); 
        Pertemua3dan4.fill(kotak2); 
        Pertemua3dan4.fill(kotak3); 
        Pertemua3dan4.fill(kotak4); 
        Pertemua3dan4.fill(kotak5); 
        Pertemua3dan4.fill(kotak6); 
        Pertemua3dan4.fill(kotak7); 
        Pertemua3dan4.fill(kotak8); 
        Pertemua3dan4.fill(kotak9); 
        Pertemua3dan4.fill(kotak10);

    }
}

Seperti gambar di bawah ini.


Kemudian Kita membuat Class Mainlinecharts, Click kanan - Package Name - New - Java Class, maka akan muncul menu seperti gambar di bawah. isi class name Mainlinecharts - Finish.


masukan code di bawah ke dalam class Mainllinecharts.

package syakurnurokhman_pert3dan4;

import syakurnurokhman_pert3dan4.LineCharts; 
import com.sun.glass.events.WindowEvent; 
import java.awt.event.WindowAdapter; 
import javax.swing.JFrame; 

public class mainlinecharts {
   public static void main(String[] args) {
// TODO code application logic here
        JFrame frame = new JFrame("Line Charts"); frame.addWindowFocusListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        
//tambahkan panel
        LineCharts canvas = new LineCharts();
        frame.getContentPane().add(canvas); frame.pack();
        frame.setVisible(true);
    }
}

Seperti gambar di bawah.


Jika sudah maka jalankan programnya dengan Click kanan pada Class Mainlinecharts - run file, jika berhasil maka akan muncul seperti gambar di bawah.


Seperti itu lah tutorial membuat program grafik sederhana, selamat mencoba dan terimakasih.