Kamis, 18 Mei 2017

MVC Kalkulator

LAPORAN PRAKTIKUM

BAHASA PEMOGRAMAN 2





DISUSUN OLEH :
Nurintan Yuliani
2015091076
SI 2015 B

Laboraturium Komputer
UNIVERSITAS KUNINGAN
Jl.Cut Nyak Dhien No.36A Cijoho Kuningan Telp.Faks/ : 0232-874824
2016-2017






MVC Kalkulator


1. pertama kita harus membuat project baru untuk membuat MVC kalkulator dengan memilih Java Applikation


2.selanjutnya  pembuatan MVC kalkulatornya sendiri dengan memberi nama MVC_kalkulator_SIB2015 kemudian Next.


3. jika MVC sedah dibuat selanjutnya membuat Java Package untuk memisahkan setiap class yang berapa di MVC yang memungkinkan program java membuat kelasnya sendiri yang mempunyai nama sama dengan kelas yang sudah ada di MVC itu sendiri.caranya klik kanan pada source Package > New>Java Package maka akan langsung muncul jendela pembutan nama package nya.



4. untuk nama package yng pertama adalah mvc.controller.
untuk package sendiri kita membuat 3 package yaitu mvc.controller,mvc.model,dan mvc.view dengan kelas yang berbeda-beda .



5. selanjutnya pembuatan kelas pada setiap package yang sudah dibuat tadi dengan cara klik kanan di package yang akan diisiskan class lalu New>Java Class maka akan langsung muncul jendela penamaan Java class. class sendiri berisi argumen atau perintah/program yang berada di ruang mengekseksi.
untuk pembuatan class saya hanya membuat satu contoh pembuatan yang selanjutnya adalah pembuatan class "model_kalkulator.java" di package "mvc.model".cara pembuatannya pun sama dengan pembuatan class yang pertama. 




6. disini adalah jeldela penamaan untuk class,untuk class yang berada di package "mvc.controller" berinama "controller_kalkulator"



7. untuk yang selanjutnya adalah pembuatan JFrame yaitu pembuatan desain kalkulatornya sendiri langkah nya adalah klik kanan pada dan jframe "view_kalkulator.java" di package "mvc.vie". semua pembuatanya sama saja namun yang package "mvc.view">New>JFrame Form kemudian akan muncul jeldela untuk penamaan JFrame nya. 


8. untuk penamaan JFrame kita berinama vie_kalkulator.java .


9. jika semua sudah selesai dari pembuatan MVC,Package hingga class maka tampilannya seperti dibawah ini.


10.selanjutnya pembuatan desain kalkulatornya di JFrame .
Gunakan pallet yang berada di sebelah kanan kolom pembuatan desainnya yaitu TextField untuk membuat kotak yang nantinya untuk menampilkan hasi dari eksekusi source nya, Button untuk membuat tombol-tomol yang berfungsi sebagai angka-angka di kalkulatornya.


11. jika semuanya sudah dibuat maka desainnya seperti dibawah ini.


Untuk selanjutnya adalah pembutan program

1. masukan program dibawah  ini kedalam class "controller_kalkulator.java", kemudian run file lanjut ke program selanjutnya apabila program yang ini sudah sucess.

package mvc.controller;
import mvc.model.model_kalkulator;
import mvc.view.view_kalkulator;

public class controller_kalkulator {
    model_kalkulator mk = new model_kalkulator();
    view_kalkulator vk;

    public controller_kalkulator(view_kalkulator vk) {
        this.vk = vk;
    }
   
    public void IsiNilai(){
        mk.setBil1(Integer.parseInt(vk.getTxtBil1().getText()));
        mk.setBil2(Integer.parseInt(vk.getTxtBil2().getText()));
    }
   
    public void Hasiltambah(){
        mk.setHasil(mk.getBil1() + mk.getBil2());
        vk.getTxtHasil().setText(String.valueOf(mk.getHasil()));
    }
    public void Hasilkurang(){
        mk.setHasil(mk.getBil1() - mk.getBil2());
        vk.getTxtHasil().setText(String.valueOf(mk.getHasil()));
    }
    public void Hasilkali(){
        mk.setHasil(mk.getBil1() * mk.getBil2());
        vk.getTxtHasil().setText(String.valueOf(mk.getHasil()));
    }
    public void Hasilbagi(){
        mk.setHasil(mk.getBil1() / mk.getBil2());
        vk.getTxtHasil().setText(String.valueOf(mk.getHasil()));
    }
}


2. selanjutnya masukan program ini ke class "model_kalkulator.java,kemudian run file

package mvc.model;

import java.util.logging.Logger;


public class model2 {
    private String bil1="",bil2="",hasil="", opr="";

    public String getBil1() {
        return bil1;
    }

    public void setBil1(String bil1) {
        this.bil1 = bil1;
    }

    public String getBil2() {
        return bil2;
    }

    public void setBil2(String bil2) {
        this.bil2 = bil2;
    }

    public String getHasil() {
        return hasil;
    }

    public void setHasil(String hasil) {
        this.hasil = hasil;
    }

    public String getOpr() {
        return opr;
    }

    public void setOpr(String opr) {
        this.opr = opr;
    }
   
}


3. terakhir masukan program ini ke JFrame "view_kalkulator.java" di bagian Source nya .kemudian run file maka akan tampil jeldela kalkulator jika semua program sudah benar.

package mvc.view;

import javax.swing.JButton;
import javax.swing.JTextField;
import mvc.controller.controller2;

public class view2 extends javax.swing.JFrame {
    controller2 ck2;
    
    public view2() {
        initComponents();
        ck2 = new controller2(this);
    }

  
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        txthasil = new javax.swing.JTextField();
        btn0 = new javax.swing.JButton();
        btn1 = new javax.swing.JButton();
        btn2 = new javax.swing.JButton();
        btn3 = new javax.swing.JButton();
        btn4 = new javax.swing.JButton();
        btn5 = new javax.swing.JButton();
        btn6 = new javax.swing.JButton();
        btn7 = new javax.swing.JButton();
        btn8 = new javax.swing.JButton();
        btn9 = new javax.swing.JButton();
        btnc = new javax.swing.JButton();
        btntambah = new javax.swing.JButton();
        btnkurang = new javax.swing.JButton();
        btnkali = new javax.swing.JButton();
        btnbagi = new javax.swing.JButton();
        btnhasil = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        btn0.setText("0");
        btn0.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn0ActionPerformed(evt);
            }
        });

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

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

        btn3.setText("3");
        btn3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn3ActionPerformed(evt);
            }
        });

        btn4.setText("4");
        btn4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn4ActionPerformed(evt);
            }
        });

        btn5.setText("5");
        btn5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn5ActionPerformed(evt);
            }
        });

        btn6.setText("6");
        btn6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn6ActionPerformed(evt);
            }
        });

        btn7.setText("7");
        btn7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn7ActionPerformed(evt);
            }
        });

        btn8.setText("8");
        btn8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn8ActionPerformed(evt);
            }
        });

        btn9.setText("9");
        btn9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn9ActionPerformed(evt);
            }
        });

        btnc.setText("C");
        btnc.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btncActionPerformed(evt);
            }
        });

        btntambah.setText("+");
        btntambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btntambahActionPerformed(evt);
            }
        });

        btnkurang.setText("-");
        btnkurang.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnkurangActionPerformed(evt);
            }
        });

        btnkali.setText("x");
        btnkali.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnkaliActionPerformed(evt);
            }
        });

        btnbagi.setText("/");
        btnbagi.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnbagiActionPerformed(evt);
            }
        });

        btnhasil.setText("=");
        btnhasil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnhasilActionPerformed(evt);
            }
        });

        jLabel1.setText(":) :) :) :) :) :) ");

        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, false)
                    .addComponent(txthasil)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(btn0)
                            .addComponent(btn4)
                            .addComponent(btn8)
                            .addComponent(btnkurang, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(10, 10, 10)
                                .addComponent(jLabel1))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(btnkali, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn1, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(10, 10, 10)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(btnbagi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btnc, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(btntambah, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btnhasil, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btn3, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE))))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(txthasil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btn0)
                    .addComponent(btn1)
                    .addComponent(btn2)
                    .addComponent(btn3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btn4)
                    .addComponent(btn5)
                    .addComponent(btn6)
                    .addComponent(btn7))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btn8)
                    .addComponent(btn9)
                    .addComponent(btnc)
                    .addComponent(btntambah))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnkurang)
                    .addComponent(btnkali)
                    .addComponent(btnbagi)
                    .addComponent(btnhasil))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

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

    private void btn1ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        ck2.isinilai(btn1.getText());
    }                                    

    private void btnkurangActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        ck2.Operator(btnkurang.getText());
    }                                         

    private void btn0ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        ck2.isinilai(btn0.getText());
    }                                   

    private void btn2ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        ck2.isinilai(btn2.getText());
    }                                   

    private void btn3ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        ck2.isinilai(btn3.getText());
    }                                   

    private void btn4ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
         ck2.isinilai(btn4.getText());
    }                                   

    private void btn5ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
         ck2.isinilai(btn5.getText());
    }                                   

    private void btn6ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
         ck2.isinilai(btn6.getText());
    }                                   

    private void btn7ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
         ck2.isinilai(btn7.getText());
    }                                   

    private void btn8ActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
         ck2.isinilai(btn8.getText());
    }                                   

    private void btntambahActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        ck2.Operator(btntambah.getText());
    }                                        

    private void btnkaliActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        ck2.Operator(btnkali.getText());
    }                                      

    private void btnbagiActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        ck2.Operator(btnbagi.getText());
    }                                      

    private void btnhasilActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        ck2.Hitung();
    }                                       

    private void btn9ActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        ck2.isinilai(btn9.getText());
    }                                   

    private void btncActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        ck2.Clear();
    }                                   

   
    public static void main(String args[]) {
       
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
       
        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(view2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(view2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(view2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(view2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new view2().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton btn0;
    private javax.swing.JButton btn1;
    private javax.swing.JButton btn2;
    private javax.swing.JButton btn3;
    private javax.swing.JButton btn4;
    private javax.swing.JButton btn5;
    private javax.swing.JButton btn6;
    private javax.swing.JButton btn7;
    private javax.swing.JButton btn8;
    private javax.swing.JButton btn9;
    private javax.swing.JButton btnbagi;
    private javax.swing.JButton btnc;
    private javax.swing.JButton btnhasil;
    private javax.swing.JButton btnkali;
    private javax.swing.JButton btnkurang;
    private javax.swing.JButton btntambah;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JTextField txthasil;
    // End of variables declaration                  

    public JButton getBtn0() {
        return btn0;
    }

    public JButton getBtn1() {
        return btn1;
    }

    public JButton getBtn2() {
        return btn2;
    }

    public JButton getBtn3() {
        return btn3;
    }

    public JButton getBtn4() {
        return btn4;
    }

    public JButton getBtn5() {
        return btn5;
    }

    public JButton getBtn6() {
        return btn6;
    }

    public JButton getBtn7() {
        return btn7;
    }

    public JButton getBtn8() {
        return btn8;
    }

    public JButton getBtn9() {
        return btn9;
    }

    public JButton getBtnbagi() {
        return btnbagi;
    }

    public JButton getBtnc() {
        return btnc;
    }

    public JButton getBtnhasil() {
        return btnhasil;
    }

    public JButton getBtnkali() {
        return btnkali;
    }

    public JButton getBtnkurang() {
        return btnkurang;
    }

    public JButton getBtntambah() {
        return btntambah;
    }

    public JTextField getTxthasil() {
        return txthasil;
    }
}


maka tampilannya adlah seperti dibawah ini:

masukan angkasatu
 pilih tombol + ,namun tidak akan ada di tampilan untuk pemilihan ini

tekan angka 6

maka hasilnya adalah 7










SELESAI 

Terimakasih Sudah Mengunjungi Web Saya 
Kurang dan Lebihnya Mohon Maaf 

Wassalamualaikum Wr.Wb