Membuat Program Cetak Kata


Buat new project.


Pilih Categories Java with Ant, lalu pilih Projects Java Application.


Beri nama project "OktavianAji_181011402092_Pertemuan1", lalu klik Finish.


Setelah project terbuat, buat package pada project dengan cara klik kanan pada Source Packages, pilih new, klik Java Package.


Beri nama package "Latihan1". Klik Finish.


Buat JFrame Form pada Package Latihan1 dengan cara klik kanan package, pilih new, klik JFrame Form.


Lalu beri nama Class-nya "Cetak_Kata".


Setelah itu buat Design interface seperti ini.


Keterangan :
  • Cetak Kata = Label
  • Nama = Label
  • Pesan = Label
  • Field Nama = Text Field
  • Field Pesan = Text area
  • Field Pesan ke 2 = Text Pane

Ganti nama variabel di setiap Field. Dengan cara klik kanan pada Field yang ingin diganti nama variabel-nya, klik Change Variabel Name.


Text Field : 


Text area : 


Text Pane : 


Buat Action Performed pada Button. Dengan cara klik kanan pada Button, pilih Events, pilih Action, klik actionPerformed.


Tambahkan source code dibawah ini pada Button actionPerformed.

    String Oktavian_angka;
    double Oktavian_jumlah, Oktavian_angka1, Oktavian_angka2;
    int Oktavian_pilih;


Run program dengan cara klik kanan pada File Cetak_Kata.java, klik tun file.


Maka akan muncul hasil sebagai berikut.


Source Code : 

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Latihan1;

/**
 *
 * @author Oktavian Aji
 */
public class Cetak_Kata extends javax.swing.JFrame {

    /**
     * Creates new form Cetak_Kata
     */
    public Cetak_Kata() {
        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() {

        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        Oktavian_namaTextField = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        Oktavian_pesanTextarea = new javax.swing.JTextArea();
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        Oktavian_pesanTextPane = new javax.swing.JTextPane();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(38, 91, 249));

        jLabel2.setText("Nama");

        jLabel3.setText("Pesan");

        Oktavian_pesanTextarea.setColumns(20);
        Oktavian_pesanTextarea.setRows(5);
        jScrollPane1.setViewportView(Oktavian_pesanTextarea);

        jButton1.setText("Kirim");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addGap(18, 18, 18)
                        .addComponent(Oktavian_namaTextField))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addGap(18, 18, 18)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE))))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(Oktavian_namaTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel3)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel1.setText("Cetak Kata");

        jLabel4.setText("Pesan");

        jScrollPane2.setViewportView(Oktavian_pesanTextPane);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(137, 137, 137)
                                .addComponent(jLabel1))
                            .addGroup(layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(jLabel4)))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
            .addComponent(jScrollPane2)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(5, 5, 5)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        String nama = (Oktavian_namaTextField.getText());
        String pesan = (Oktavian_pesanTextarea.getText());
        Oktavian_pesanTextPane.setText("Nama Saya " + nama + " Dan Saya Membuat Pesan " + pesan);
    }                                        

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

    // Variables declaration - do not modify                     
    private javax.swing.JTextField Oktavian_namaTextField;
    private javax.swing.JTextPane Oktavian_pesanTextPane;
    private javax.swing.JTextArea Oktavian_pesanTextarea;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    // End of variables declaration                   
}





Program Cetak Proses


Buat JFrame Form baru pada package atau project sebelumnya dengan cara klik kanan pada package "Latihan 1", pilih new, klik JFrame Form.


Beri nama Class "Cetak_Proses".


Buat Design interface seperti di bawah ini :


Buka source lalu tambahkan source code di bawah ini, sesuai dengan gambar yang tertera.

    String Oktavian_angka;
    double Oktavian_jumlah, Oktavian_angka1, Oktavian_angka2;
    int Oktavian_pilih;


Ganti nama variabel TextField dengan "Oktavian_display".


Tambahkan actionPerformed pada button 1, button 2, dan button tambah. Dengan cara klik kanan pada button, pilih Events, pilih Action, klik actionPerformed.


Tambahkan source code di bawah ini pada method actionPerformed button 1, sesuai dengan gambar yang tertera.

        Oktavian_angka += "1";
        Oktavian_display.setText(Oktavian_angka);


Tambahkan lagi source code di bawah ini pada method actionPerformed button 2, sesuai dengan gambar yang tertera.

        Oktavian_angka += "2";
        Oktavian_display.setText(Oktavian_angka);


Tambahkan lagi source code di bawah ini pada method actionPerformed button tambah, sesuai dengan gambar yang tertera.

        Oktavian_angka1 = Double.parseDouble(Oktavian_angka);
        Oktavian_display.setText("+");
        Oktavian_angka = "";
        Oktavian_pilih = 1;


Tambahkan button baru, selanjutnya edit text dengan "Hasil".


Tambahkan actionPerformed pada button Hasil, selanjutnya tambahkan source code di bawah ini pada method-nya sesuai dengan gambar yang tertera.

        switch(Oktavian_pilih){
            case 1:
                Oktavian_angka2 = Double.parseDouble(Oktavian_angka);
                Oktavian_jumlah = Oktavian_angka1 + Oktavian_angka2;
                Oktavian_angka = Double.toString(Oktavian_jumlah);
                Oktavian_display.setText(Oktavian_angka);
                break;
            default:
                break;
        }


Import library Dimension pada file java, untuk dapat menjalankan fungsi Dimension.

    import java.awt.Dimension;


Tambahkan source code di bawah ini ke dalam struktur konstruktor, seperti gambar yang tertera.

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation((screenSize.width - frameSize.width) / 3,(screenSize.height - frameSize.height) / 4);


Run program dengan cara klik kanan pada file program, klik run file. Maka akan muncul hasil seperti ini.


Source Code :

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Latihan1;

import java.awt.Toolkit;
import java.awt.Dimension;

/**
 *
 * @author Oktavian Aji
 */
public class Cetak_Proses extends javax.swing.JFrame {
    
    String Oktavian_angka;
    double Oktavian_jumlah, Oktavian_angka1, Oktavian_angka2;
    int Oktavian_pilih;
    
    /**
     * Creates new form Cetak_Proses
     */
    public Cetak_Proses() {
        initComponents();
        Oktavian_angka = "";
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation((screenSize.width - frameSize.width) / 3,(screenSize.height - frameSize.height) / 4);
    }

    /**
     * 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() {

        Oktavian_display = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        Oktavian_satu = new javax.swing.JButton();
        Oktavian_dua = new javax.swing.JButton();
        Oktavian_tambah = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(51, 204, 255));

        Oktavian_satu.setText("1");
        Oktavian_satu.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Oktavian_satuActionPerformed(evt);
            }
        });

        Oktavian_dua.setText("2");
        Oktavian_dua.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Oktavian_duaActionPerformed(evt);
            }
        });

        Oktavian_tambah.setText("Tambah");
        Oktavian_tambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Oktavian_tambahActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(Oktavian_satu)
                        .addGap(18, 18, 18)
                        .addComponent(Oktavian_dua))
                    .addComponent(Oktavian_tambah))
                .addContainerGap(229, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Oktavian_satu)
                    .addComponent(Oktavian_dua))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
                .addComponent(Oktavian_tambah)
                .addContainerGap())
        );

        jButton1.setText("Hasil");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Oktavian_display)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(Oktavian_display, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton1)
                .addContainerGap(75, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        

    private void Oktavian_satuActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:
        Oktavian_angka += "1";
        Oktavian_display.setText(Oktavian_angka);
    }                                             

    private void Oktavian_duaActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
        Oktavian_angka += "2";
        Oktavian_display.setText(Oktavian_angka);
    }                                            

    private void Oktavian_tambahActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
        Oktavian_angka1 = Double.parseDouble(Oktavian_angka);
        Oktavian_display.setText("+");
        Oktavian_angka = "";
        Oktavian_pilih = 1;
    }                                               

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        switch(Oktavian_pilih){
            case 1:
                Oktavian_angka2 = Double.parseDouble(Oktavian_angka);
                Oktavian_jumlah = Oktavian_angka1 + Oktavian_angka2;
                Oktavian_angka = Double.toString(Oktavian_jumlah);
                Oktavian_display.setText(Oktavian_angka);
                break;
            default:
                break;
        }
    }                                        

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

    // Variables declaration - do not modify                     
    private javax.swing.JTextField Oktavian_display;
    private javax.swing.JButton Oktavian_dua;
    private javax.swing.JButton Oktavian_satu;
    private javax.swing.JButton Oktavian_tambah;
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration                   
}


Selesai.