Selasa, 30 Mei 2017

FINAL PROJECT : BANK SAMPAH

     Memasuki akhir perkuliahan Pemograman Berbasis Objek, saya (Devi, 5115100138) bersama teman saya, Dina (5115100041) akan membuat sebuah program java dengan aplikasi Eclipse tentang "BANK SAMPAH"

     Berikut ini deskripsi program "Bank Sampah", source code dan output dari program tersebut:


"BANK SAMPAH" 

Deskripsi :
1. Home
         Menampilkan tampilan awal pada layar yang berisi pilihan-pilihan yang ada pada program bank sampah.

2. Register
         Berisi formulir pendaftaran untuk anggota baru (seperti : no identitas, nama, jenis kelamin, alamat, no telp) dan juga bisa menghapus data anggota tertentu (misal : si nasabah telah berhenti menjadi anggota dari bank sampah). 

3. Masukkan Data (BankSampah)
         Menghitung pendapatan nasabah dari sampah yang telah dikumpulkan dan menampilkannya.

Berikut ini relasi antar kelasnya :


Source code : Home (menampilkan main menu)
 package home;  
    
 import java.awt.EventQueue;  
    
 import javax.swing.JFrame;  
 import javax.swing.JLabel;  
 import javax.swing.JOptionPane;  
    
 import java.awt.BorderLayout;  
 import javax.swing.SwingConstants;  
    
 import Bank.BankSampah;  
 import register.Register;  
    
 import java.awt.Font;  
 import javax.swing.JButton;  
 import java.awt.event.ActionListener;  
 import java.awt.event.ActionEvent;  
 import java.awt.Color;  
 import javax.swing.JPanel;  
 import javax.swing.border.EtchedBorder;  
 import javax.swing.border.BevelBorder;  
 //by Pametri Dinasufia and Devi Indah Sari  
 public class Home {  
    
   private JFrame frame;  
    
   /**  
    * Launch the application.  
    */  
   public static void main(String[] args) {  
     EventQueue.invokeLater(new Runnable() {  
       public void run() {  
         try {  
           Home window = new Home();  
           window.frame.setVisible(true);  
         } catch (Exception e) {  
           e.printStackTrace();  
         }  
       }  
     });  
   }  
    
   /**  
    * Create the application.  
    */  
   public Home() {  
     initialize();  
   }  
    
   /**  
    * Initialize the contents of the frame.  
    */  
   private void initialize() {  
     frame = new JFrame();  
     frame.getContentPane().setBackground(Color.BLACK);  
     frame.setBounds(100, 100, 450, 331);  
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     frame.getContentPane().setLayout(null);  
       
     JLabel lblBankSampah = new JLabel("BANK SAMPAH");  
     lblBankSampah.setBackground(Color.WHITE);  
     lblBankSampah.setForeground(Color.WHITE);  
     lblBankSampah.setBounds(0, 11, 434, 70);  
     lblBankSampah.setFont(new Font("Bodoni MT Black", Font.BOLD, 28));  
     lblBankSampah.setHorizontalAlignment(SwingConstants.CENTER);  
     frame.getContentPane().add(lblBankSampah);  
       
     JButton btnRegister = new JButton("DAFTAR & TAMPILKAN ANGGOTA");  
     btnRegister.setBackground(Color.WHITE);  
     btnRegister.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         Register info = new Register();  
         Register.main(null);  
       }  
     });  
     btnRegister.setFont(new Font("Tahoma", Font.BOLD, 14));  
     btnRegister.setBounds(79, 116, 282, 33);  
     frame.getContentPane().add(btnRegister);  
       
     JPanel panel = new JPanel();  
     panel.setBackground(Color.LIGHT_GRAY);  
     panel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));  
     panel.setBounds(53, 95, 334, 163);  
     frame.getContentPane().add(panel);  
     panel.setLayout(null);  
       
     JButton btnExit = new JButton("EXIT");  
     btnExit.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         frame = new JFrame("EXIT");  
         if(JOptionPane.showConfirmDialog(frame, "Apakah anda ingin keluar?", "Bank Sampah",  
           JOptionPane.YES_NO_OPTION)==JOptionPane.YES_NO_OPTION){  
           System.exit(0);  
         }  
       }  
     });  
     btnExit.setFont(new Font("Tahoma", Font.BOLD, 14));  
     btnExit.setBackground(Color.WHITE);  
     btnExit.setBounds(82, 119, 165, 33);  
     panel.add(btnExit);  
       
     JButton btnMasukkanData = new JButton("MASUKKAN DATA");  
     btnMasukkanData.setBounds(29, 66, 282, 33);  
     panel.add(btnMasukkanData);  
     btnMasukkanData.setBackground(Color.WHITE);  
     btnMasukkanData.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         BankSampah info = new BankSampah();  
         BankSampah.main(null);  
       }  
     });  
     btnMasukkanData.setFont(new Font("Tahoma", Font.BOLD, 14));  
   }  
 }  

Source code : Register (mendaftar anggota baru)
 package register;  
    
 import java.awt.EventQueue;  
    
 import javax.swing.JFrame;  
 import javax.swing.JLabel;  
 import javax.swing.JOptionPane;  
    
 import java.awt.BorderLayout;  
 import javax.swing.SwingConstants;  
 import java.awt.Font;  
 import javax.swing.JTextField;  
 import javax.swing.JComboBox;  
 import javax.swing.DefaultComboBoxModel;  
 import javax.swing.JRadioButton;  
 import javax.swing.JPanel;  
 import javax.swing.border.LineBorder;  
 import java.awt.Color;  
 import javax.swing.JTable;  
 import javax.swing.table.DefaultTableModel;  
    
 import Bank.BankSampah;  
 import home.Home;  
    
 import javax.swing.JScrollBar;  
 import javax.swing.JButton;  
 import java.awt.event.ActionListener;  
 import java.awt.event.ActionEvent;  
 import javax.swing.BoxLayout;  
 //by Pametri Dinasufia and Devi Indah Sari  
 public class Register {  
    
   private JFrame frame;  
   private JTextField textNoID;  
   private JTextField textNama;  
   private JTextField textAlamat;  
   private JTextField textNoTelp;  
   private JTable table;  
    
   /**  
    * Launch the application.  
    */  
   public static void main(String[] args) {  
     EventQueue.invokeLater(new Runnable() {  
       public void run() {  
         try {  
           Register window = new Register();  
           window.frame.setVisible(true);  
         } catch (Exception e) {  
           e.printStackTrace();  
         }  
       }  
     });  
   }  
    
   /**  
    * Create the application.  
    */  
   public Register() {  
     initialize();  
   }  
    
   /**  
    * Initialize the contents of the frame.  
    */  
   private void initialize() {  
     frame = new JFrame();  
     frame.setBounds(100, 100, 628, 484);  
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     frame.getContentPane().setLayout(null);  
       
     JLabel lblReg = new JLabel("REGISTER ANGGOTA");  
     lblReg.setBounds(0, 0, 612, 74);  
     lblReg.setFont(new Font("Tahoma", Font.BOLD, 24));  
     lblReg.setHorizontalAlignment(SwingConstants.CENTER);  
     frame.getContentPane().add(lblReg);  
       
     JLabel lblNewLabel = new JLabel("No ID");  
     lblNewLabel.setBounds(10, 85, 46, 14);  
     frame.getContentPane().add(lblNewLabel);  
       
     JLabel lblNama = new JLabel("Nama");  
     lblNama.setBounds(10, 119, 46, 14);  
     frame.getContentPane().add(lblNama);  
       
     textNoID = new JTextField();  
     textNoID.setBounds(99, 85, 86, 20);  
     frame.getContentPane().add(textNoID);  
     textNoID.setColumns(10);  
       
     textNama = new JTextField();  
     textNama.setColumns(10);  
     textNama.setBounds(99, 116, 201, 20);  
     frame.getContentPane().add(textNama);  
       
     JLabel lblJenisKelamin = new JLabel("Jenis Kelamin");  
     lblJenisKelamin.setBounds(10, 150, 93, 14);  
     frame.getContentPane().add(lblJenisKelamin);  
       
     textAlamat = new JTextField();  
     textAlamat.setColumns(10);  
     textAlamat.setBounds(99, 178, 201, 20);  
     frame.getContentPane().add(textAlamat);  
       
     textNoTelp = new JTextField();  
     textNoTelp.setColumns(10);  
     textNoTelp.setBounds(99, 209, 201, 20);  
     frame.getContentPane().add(textNoTelp);  
       
     JLabel lblNoTelp = new JLabel("Alamat");  
     lblNoTelp.setBounds(10, 181, 93, 14);  
     frame.getContentPane().add(lblNoTelp);  
       
     JLabel label = new JLabel("No Telp");  
     label.setBounds(10, 212, 93, 14);  
     frame.getContentPane().add(label);  
       
     JRadioButton rdbtnPerempuan = new JRadioButton("Perempuan");  
     rdbtnPerempuan.setBounds(99, 146, 109, 23);  
     frame.getContentPane().add(rdbtnPerempuan);  
       
     JRadioButton rdbtnLakilaki = new JRadioButton("Laki-laki");  
     rdbtnLakilaki.setBounds(220, 146, 109, 23);  
     frame.getContentPane().add(rdbtnLakilaki);  
       
     JButton btnSave = new JButton("CLEAR");  
     btnSave.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         textNoID.setText("");  
         textNama.setText("");  
         rdbtnPerempuan.setSelected(false);  
         rdbtnLakilaki.setSelected(false);  
         textAlamat.setText("");  
         textNoTelp.setText("");  
       }  
     });  
     btnSave.setBounds(334, 177, 89, 23);  
     frame.getContentPane().add(btnSave);  
       
     JButton btnDelete = new JButton("DELETE");  
     btnDelete.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         DefaultTableModel model = (DefaultTableModel) table.getModel();  
         if(table.getSelectedRow()==-1){  
           if(table.getRowCount()==0){  
             JOptionPane.showMessageDialog(null, "Tidak ada data yang akan dihapus", "Bank Sampah", JOptionPane.OK_OPTION);  
           }  
           else{  
             JOptionPane.showMessageDialog(null, "Pilih baris mana yang ingin dihapus", "Bank Sampah", JOptionPane.OK_OPTION);  
           }  
         }else{  
           model.removeRow(table.getSelectedRow());  
         }  
       }  
     });  
     btnDelete.setBounds(10, 400, 115, 34);  
     frame.getContentPane().add(btnDelete);  
       
     JButton btnBack = new JButton("BACK");  
     btnBack.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
           
         frame = new JFrame("Back");  
         if(JOptionPane.showConfirmDialog(frame, "Apakah anda ingin kembali ke main menu", "Bank Sampah",  
             JOptionPane.YES_NO_OPTION)==JOptionPane.YES_NO_OPTION){  
           //Kembali ke home  
           Home info = new Home();  
           Home.main(null);  
             
         }  
           
       }  
     });  
     btnBack.setBounds(468, 400, 115, 34);  
     frame.getContentPane().add(btnBack);  
       
     JPanel panel = new JPanel();  
     panel.setBounds(10, 237, 592, 154);  
     frame.getContentPane().add(panel);  
       
     table = new JTable();  
     table.setFillsViewportHeight(true);  
     table.setColumnSelectionAllowed(true);  
     table.setCellSelectionEnabled(true);  
     table.setModel(new DefaultTableModel(  
       new Object[][] {  
         {"No ID", "Nama", "P", "L", "Alamat", "No Telp"},  
       },  
       new String[] {  
         "No ID", "Nama", "P", "L", "Alamat", "No Telp"  
       }  
     ) {  
       Class[] columnTypes = new Class[] {  
         String.class, String.class, String.class, String.class, String.class, String.class  
       };  
       public Class getColumnClass(int columnIndex) {  
         return columnTypes[columnIndex];  
       }  
     }  
       
         );  
     table.getColumnModel().getColumn(0).setPreferredWidth(37);  
     table.getColumnModel().getColumn(1).setPreferredWidth(150);  
     table.getColumnModel().getColumn(2).setPreferredWidth(30);  
     table.getColumnModel().getColumn(3).setPreferredWidth(30);  
     table.getColumnModel().getColumn(4).setPreferredWidth(195);  
     table.getColumnModel().getColumn(5).setPreferredWidth(135);  
     panel.add(table);  
       
     JButton btnDaftar = new JButton("DAFTAR");  
     btnDaftar.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
       DefaultTableModel model = (DefaultTableModel) table.getModel();  
         model.addRow(new Object[]{  
         textNoID.getText(),  
         textNama.getText(),  
         rdbtnPerempuan.isSelected(),  
         rdbtnLakilaki.isSelected(),  
         textAlamat.getText(),  
         textNoTelp.getText(),});  
       
       }  
     });  
     btnDaftar.setBounds(334, 208, 89, 23);  
     frame.getContentPane().add(btnDaftar);  
   }  
 }  

source code : BankSampah (memasukkan data)
 package Bank;  
    
 import java.awt.EventQueue;  
    
 import javax.swing.JFrame;  
 import javax.swing.JPanel;  
 import java.awt.Color;  
 import javax.swing.border.LineBorder;  
 import javax.swing.JLabel;  
 import javax.swing.JOptionPane;  
    
 import java.awt.Font;  
 import javax.swing.JTextField;  
 import javax.swing.border.BevelBorder;  
 import javax.swing.JCheckBox;  
 import javax.swing.JButton;  
 import java.awt.event.ActionListener;  
 import java.text.SimpleDateFormat;  
 import java.util.Calendar;  
 import java.awt.event.ActionEvent;  
 import javax.swing.SwingConstants;  
 import javax.swing.JTextArea;  
 import javax.swing.JTable;  
 import javax.swing.table.DefaultTableModel;  
    
 import home.Home;  
 //by Pametri Dinasufia and Devi Indah Sari  
 public class BankSampah {  
    
   private JFrame frame;  
   private JTextField totKwaci;  
   private JTextField totBag;  
   private JTextField totKar;  
   private JTextField totKor;  
   private JTextField totBuk;  
   private JTextField totAq;  
   private JTextField totAl;  
   private JTextField totBes;  
   private JTextField totKal;  
   private JTextField totPlas;  
   private JTextField totLain;  
   private JTextField noAnggota;  
     
   double Kwaci = 500;  
   double Bag = 2000;  
   double Kardus = 1300;  
   double Koran = 1500;  
   double Buku = 1500;  
   double Aqua = 2000;  
   double Alumunium = 10.000;  
   double Besi = 1500;  
   double Kaleng = 700;  
   double Plastik = 300;  
   double Lain = 1;  
   private JTable table;  
     
    
   /**  
    * Launch the application.  
    */  
   public static void main(String[] args) {  
     EventQueue.invokeLater(new Runnable() {  
       public void run() {  
         try {  
           BankSampah window = new BankSampah();  
           window.frame.setVisible(true);  
         } catch (Exception e) {  
           e.printStackTrace();  
         }  
       }  
     });  
   }  
    
   /**  
    * Create the application.  
    */  
   public BankSampah() {  
     initialize();  
   }  
    
   /**  
    * Initialize the contents of the frame.  
    */  
   private void initialize() {  
     frame = new JFrame();  
     frame.setBounds(0, 0, 600, 700);  
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     frame.getContentPane().setLayout(null);  
       
     JPanel panel = new JPanel();  
     panel.setBorder(new LineBorder(new Color(0, 0, 0)));  
     panel.setBounds(20, 112, 238, 504);  
     frame.getContentPane().add(panel);  
     panel.setLayout(null);  
       
     JLabel lbKwaci = new JLabel("Kwaci");  
     lbKwaci.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbKwaci.setBounds(10, 11, 82, 33);  
     panel.add(lbKwaci);  
       
     JLabel lbBag = new JLabel("Bag");  
     lbBag.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbBag.setBounds(10, 55, 82, 33);  
     panel.add(lbBag);  
       
     JLabel lbKardus = new JLabel("Kardus bgs");  
     lbKardus.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbKardus.setBounds(10, 99, 82, 33);  
     panel.add(lbKardus);  
       
     JLabel lbKoran = new JLabel("Koran");  
     lbKoran.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbKoran.setBounds(10, 143, 82, 33);  
     panel.add(lbKoran);  
       
     JLabel lbBuku = new JLabel("Buku");  
     lbBuku.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbBuku.setBounds(10, 187, 82, 33);  
     panel.add(lbBuku);  
       
     JLabel lbAqua = new JLabel("Aqua");  
     lbAqua.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbAqua.setBounds(10, 231, 82, 33);  
     panel.add(lbAqua);  
       
     JLabel lbAlumunium = new JLabel("Alumunium");  
     lbAlumunium.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbAlumunium.setBounds(10, 275, 82, 33);  
     panel.add(lbAlumunium);  
       
     JLabel lbBesi = new JLabel("Besi");  
     lbBesi.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbBesi.setBounds(10, 319, 82, 33);  
     panel.add(lbBesi);  
       
     JLabel lbKaleng = new JLabel("Kaleng");  
     lbKaleng.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbKaleng.setBounds(10, 363, 82, 33);  
     panel.add(lbKaleng);  
       
     JLabel lbPlastik = new JLabel("Plastik Keras");  
     lbPlastik.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbPlastik.setBounds(10, 407, 113, 33);  
     panel.add(lbPlastik);  
       
     JLabel lbLain = new JLabel("Lain-lain");  
     lbLain.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lbLain.setBounds(10, 460, 82, 33);  
     panel.add(lbLain);  
       
     totKwaci = new JTextField("0");  
     totKwaci.setBounds(142, 19, 86, 20);  
     panel.add(totKwaci);  
     totKwaci.setColumns(10);  
       
     totBag = new JTextField("0");  
     totBag.setColumns(10);  
     totBag.setBounds(142, 63, 86, 20);  
     panel.add(totBag);  
       
     totKar = new JTextField("0");  
     totKar.setColumns(10);  
     totKar.setBounds(142, 107, 86, 20);  
     panel.add(totKar);  
       
     totKor = new JTextField("0");  
     totKor.setColumns(10);  
     totKor.setBounds(142, 151, 86, 20);  
     panel.add(totKor);  
       
     totBuk = new JTextField("0");  
     totBuk.setColumns(10);  
     totBuk.setBounds(142, 195, 86, 20);  
     panel.add(totBuk);  
       
     totAq = new JTextField("0");  
     totAq.setColumns(10);  
     totAq.setBounds(142, 239, 86, 20);  
     panel.add(totAq);  
       
     totAl = new JTextField("0");  
     totAl.setColumns(10);  
     totAl.setBounds(142, 283, 86, 20);  
     panel.add(totAl);  
       
     totBes = new JTextField("0");  
     totBes.setColumns(10);  
     totBes.setBounds(142, 327, 86, 20);  
     panel.add(totBes);  
       
     totKal = new JTextField("0");  
     totKal.setColumns(10);  
     totKal.setBounds(142, 371, 86, 20);  
     panel.add(totKal);  
       
     totPlas = new JTextField("0");  
     totPlas.setColumns(10);  
     totPlas.setBounds(142, 415, 86, 20);  
     panel.add(totPlas);  
       
     totLain = new JTextField("0");  
     totLain.setColumns(10);  
     totLain.setBounds(142, 468, 86, 20);  
     panel.add(totLain);  
       
     JPanel panel_5 = new JPanel();  
     panel_5.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null));  
     panel_5.setBounds(10, 446, 218, 10);  
     panel.add(panel_5);  
       
     JPanel panel_1 = new JPanel();  
     panel_1.setBorder(new LineBorder(new Color(0, 0, 0), 1, true));  
     panel_1.setBounds(320, 77, 226, 82);  
     frame.getContentPane().add(panel_1);  
     panel_1.setLayout(null);  
       
     JLabel lblAnggota = new JLabel("ANGGOTA");  
     lblAnggota.setBounds(70, 6, 86, 21);  
     lblAnggota.setFont(new Font("Tahoma", Font.BOLD, 17));  
     panel_1.add(lblAnggota);  
       
     JLabel lblNoID = new JLabel("No ID");  
     lblNoID.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lblNoID.setBounds(10, 40, 82, 33);  
     panel_1.add(lblNoID);  
       
     noAnggota = new JTextField();  
     noAnggota.setColumns(10);  
     noAnggota.setBounds(70, 48, 86, 20);  
     panel_1.add(noAnggota);  
       
     JPanel panel_2 = new JPanel();  
     panel_2.setBorder(new LineBorder(new Color(0, 0, 0)));  
     panel_2.setBounds(20, 77, 238, 35);  
     frame.getContentPane().add(panel_2);  
     panel_2.setLayout(null);  
       
     JLabel label = new JLabel("Jenis");  
     label.setFont(new Font("Tahoma", Font.BOLD, 15));  
     label.setBounds(10, 0, 82, 33);  
     panel_2.add(label);  
       
     JLabel lblTotal = new JLabel("Total");  
     lblTotal.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lblTotal.setBounds(146, 0, 82, 33);  
     panel_2.add(lblTotal);  
       
     JLabel lblBankSampah = new JLabel("BANK SAMPAH");  
     lblBankSampah.setFont(new Font("Adobe Garamond Pro Bold", Font.PLAIN, 24));  
     lblBankSampah.setBounds(197, 11, 182, 39);  
     frame.getContentPane().add(lblBankSampah);  
       
     JPanel panel_3 = new JPanel();  
     panel_3.setBorder(new LineBorder(new Color(0, 0, 0)));  
     panel_3.setBounds(320, 170, 226, 155);  
     frame.getContentPane().add(panel_3);  
     panel_3.setLayout(null);  
       
     JLabel lblTotal_1 = new JLabel("Total yang Didapat");  
     lblTotal_1.setFont(new Font("Tahoma", Font.BOLD, 15));  
     lblTotal_1.setBounds(40, 11, 146, 33);  
     panel_3.add(lblTotal_1);  
       
     JLabel totAll = new JLabel("0");  
     totAll.setBounds(10, 55, 206, 33);  
     panel_3.add(totAll);  
     totAll.setBorder(new LineBorder(new Color(0, 0, 0)));  
       
     JButton btnHitung = new JButton("HITUNG");  
     btnHitung.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         double Kwa = Kwaci * Double.parseDouble(totKwaci.getText());  
         double Bak = Bag * Double.parseDouble(totBag.getText());  
         double Kar = Kardus * Double.parseDouble(totKar.getText());  
         double Kor = Koran * Double.parseDouble(totKor.getText());  
         double Buk = Buku * Double.parseDouble(totBuk.getText());  
         double Aq = Aqua * Double.parseDouble(totAq.getText());  
         double Al = Alumunium * Double.parseDouble(totAl.getText());  
         double Bes = Besi * Double.parseDouble(totBes.getText());  
         double Kal = Kaleng * Double.parseDouble(totKal.getText());  
         double Plas = Plastik * Double.parseDouble(totPlas.getText());  
         double Lainlain = Lain * Double.parseDouble(totLain.getText());  
           
         double SumUp = Kwa + Bak + Kar + Kor + Buk + Aq + Al + Bes + Kal + Plas + Lainlain;  
           
         String S = String.format("Rp %.2f", SumUp);  
         totAll.setText(S);  
         //==================================================================  
         Calendar timer = Calendar.getInstance();  
         timer.getTime();  
         SimpleDateFormat tTime = new SimpleDateFormat("HH:mm:ss");  
         tTime.format(timer.getTime());  
         SimpleDateFormat Tdate = new SimpleDateFormat("dd-MMM-yyyy");  
         Tdate.format(timer.getTime());  
           
         //====================================================  
         DefaultTableModel model = (DefaultTableModel) table.getModel();  
         model.addRow(new Object[]{  
             Tdate.format(timer.getTime()),  
             noAnggota.getText(),  
             totAll.getText(),  
         });  
           
       }  
     });  
     btnHitung.setBounds(67, 111, 89, 23);  
     panel_3.add(btnHitung);  
       
     JButton btnReset = new JButton("Reset");  
     btnReset.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
           
         //reset isian total jenis barang  
         totKwaci.setText("0");  
         totBag.setText("0");  
         totKar.setText("0");  
         totKor.setText("0");  
         totBuk.setText("0");  
         totAq.setText("0");  
         totAl.setText("0");  
         totBes.setText("0");  
         totKal.setText("0");  
         totPlas.setText("0");  
         totLain.setText("0");  
         noAnggota.setText(null);  
           
         //reset total dan centangan  
         totAll.setText("0");  
       }  
     });  
     btnReset.setBounds(386, 336, 89, 23);  
     frame.getContentPane().add(btnReset);  
       
     JPanel panel_4 = new JPanel();  
     panel_4.setBounds(296, 373, 267, 243);  
     frame.getContentPane().add(panel_4);  
     panel_4.setLayout(null);  
       
     table = new JTable();  
     table.setModel(new DefaultTableModel(  
       new Object[][] {  
         {"Tanggal", "No ID", "Total"},  
       },  
       new String[] {  
         "Tanggal", "No ID", "Total"  
       }  
     ) {  
       Class[] columnTypes = new Class[] {  
         String.class, String.class, String.class  
       };  
       public Class getColumnClass(int columnIndex) {  
         return columnTypes[columnIndex];  
       }  
     });  
     table.setFillsViewportHeight(true);  
     table.setColumnSelectionAllowed(true);  
     table.setCellSelectionEnabled(true);  
     table.setBounds(10, 11, 247, 221);  
     panel_4.add(table);  
       
     JButton btnHapusData = new JButton("Hapus Data");  
     btnHapusData.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         DefaultTableModel model = (DefaultTableModel) table.getModel();  
         if(table.getSelectedRow()==-1){  
           if(table.getRowCount()==0){  
             JOptionPane.showMessageDialog(null, "Tidak ada data yang akan dihapus", "Bank Sampah", JOptionPane.OK_OPTION);  
           }  
           else{  
             JOptionPane.showMessageDialog(null, "Pilih baris mana yang ingin dihapus", "Bank Sampah", JOptionPane.OK_OPTION);  
           }  
         }else{  
           model.removeRow(table.getSelectedRow());  
         }  
         
       }  
     });  
     btnHapusData.setBounds(320, 627, 226, 23);  
     frame.getContentPane().add(btnHapusData);  
       
     JButton btnBack = new JButton("BACK");  
     btnBack.addActionListener(new ActionListener() {  
       public void actionPerformed(ActionEvent e) {  
         frame = new JFrame("Back");  
         if(JOptionPane.showConfirmDialog(frame, "Apakah anda ingin kembali ke main menu?", "Bank Sampah",  
             JOptionPane.YES_NO_OPTION)==JOptionPane.YES_NO_OPTION){  
             
           //Kembali ke home  
           Home info = new Home();  
           Home.main(null);  
             
             
         }  
       }  
     });  
     btnBack.setBounds(30, 627, 226, 23);  
     frame.getContentPane().add(btnBack);  
   }  
 }  

Output :
(Tampilan awal / Home)


memilih pilihan pertama :

memilih pilihan kedua :

memilih pilihan ketiga :

*penjelasan output
          Bila user ingin menambahkan nasabah baru, si user bisa tinggal mengklik pada pilihan "DAFTAR & TAMPILKAN ANGGOTA" pada Home (tampilan awal pada layar). Ketika pilihan tersebut dipilih akan tampil sebuah formulir pendaftaran untuk nasabah baru. Si user tinggal memasukkan data si nasabah baru dan akan tampil pula data yang telah dimasukkan 
          Bila user ingin memasukkan data jumlah berat sampah per kilo yang telah dikumpulkan oleh masing-masing nasabah, si user bisa tinggal mengklik pada pilihan "MASUKKAN DATA". Ketika pilihan tersebut dipilih akan tampil tampilan form tiap-tiap jenis sampah dan masukkan id untuk menginput data berdasarkan id nasabah. Jadi, nanti si user tinggal mengisi id nasabah mana yang datanya akan di isi dan memasukkan jumlah berat sampah yang telah dikumpulkan oleh nasabah tersebut dan menghitungnya. 
          Bila si user ingin keluar dari program bank sampah ini, si user hanya tinggal mengklik "EXIT" pada Home.


Sekian program bank sampah dari kami. 
Mohon maaf bila masih banyak yang kurang.
Terima Kasih
😊

Tidak ada komentar:

Posting Komentar