Sabtu, 19 Mei 2018

Aplikasi Pembayaran Zakat netbeans

 Pada kesempatan kali ini saya akan memposting cara membuat  aplikasi pembayaran zakat yang terkoneksi dengan database MySql.
Aplikasi ini diperuntukan bagi remaja masjid yang bertugas mengumpulkan zakat dari para muzzaki, diharapkan dengan adanya aplikasi ini dapat mempermudah dalam melakukan pembayaran zakat, terdapat info - info tentang zakat dan fidyah juga yang akan membantu untuk para muzzaki yang ingin membayar zakat di masjid, Aplikasi sudah terhubung dengan database sehingga dapat mempermudah panitia dalam melihat data -data yang sudah membayar zakat.
  Program pembayaran zakat ini saya akan implementasikan ke program java database, aplikasi yang perlu anda install untuk membuat program ini adalah Java NetBeans 8.1 dan Xampp, langsung saja kita buat programnya.

àBerikut adalah Formula yang digunakan dalam Aplikasi ini :

  • Zakat Fitrah
(jumlah jiwa * 35000)
diprogram ini menggunakan harga beras 10000/lt. karena perjiwa harus membayar 3.5L. maka totalnya 35000.

  • Fidyah
(jumlah jiwa * 1200000)
diprogram ini menggunakan harga beras 10000/lt. karena perjiwa harus membayar 120L. maka totalnya 1200000.

  • Penghasilan
nishab = penghasilan * 0.025


v Membuat flowchart


v Membuat database menggunakan aplikasi Xampp

§  Open Xampp control panel klik Start pada Apache dan MySql,
§  Buat database pada PhpMyadmin à   Buat Table database di PhpMyadmin seperti dibawah ini
disini saya membuat database dengan nama databaseuas dengan nama tabel tblzakat.

v Screenshoot tampilan


v Screenshoot Run Aplication

Klik new




Setelah terisi semua klik tombol proses lalu save, dan refresh. maka tampilannya seperti ini


setelah direfresh maka data tersebut akan masuk ke database.

v Screenshoot source code







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 uas;

import java.awt.EventQueue;
import java.beans.Beans;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.RollbackException;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 *
 * @author SELI
 */
public class bayarZakat extends JPanel {
    
    public bayarZakat() {
        initComponents();
        if (!Beans.isDesignTime()) {
            entityManager.getTransaction().begin();
        }
    }

    /**
     * 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() {
        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

        entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("databaseuas?zeroDateTimeBehavior=convertToNullPU").createEntityManager();
        query = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT t FROM Tblzakat t");
        list = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());
        masterScrollPane = new javax.swing.JScrollPane();
        masterTable = new javax.swing.JTable();
        saveButton = new javax.swing.JButton();
        refreshButton = new javax.swing.JButton();
        newButton = new javax.swing.JButton();
        deleteButton = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jumlahPenghasilanLabel = new javax.swing.JLabel();
        jumlahPenghasilanField = new javax.swing.JTextField();
        nishabLabel = new javax.swing.JLabel();
        nishabField = new javax.swing.JTextField();
        jPanel2 = new javax.swing.JPanel();
        jenisZakatLabel = new javax.swing.JLabel();
        CmbZakat = new javax.swing.JComboBox<>();
        jumlahJiwaLabel = new javax.swing.JLabel();
        jumlahJiwaField = new javax.swing.JTextField();
        totalZakatLabel = new javax.swing.JLabel();
        totalZakatField = new javax.swing.JTextField();
        jPanel3 = new javax.swing.JPanel();
        infaqLabel = new javax.swing.JLabel();
        totalUangLabel = new javax.swing.JLabel();
        totalUangField = new javax.swing.JTextField();
        infaqField = new javax.swing.JTextField();
        BtnProses = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        kodeMuzakiLabel = new javax.swing.JLabel();
        kodeMuzakiField = new javax.swing.JTextField();
        namaMuzakiField = new javax.swing.JTextField();
        namaMuzakiLabel = new javax.swing.JLabel();
        emailLabel = new javax.swing.JLabel();
        emailField = new javax.swing.JTextField();
        noHpLabel = new javax.swing.JLabel();
        noHpField = new javax.swing.JTextField();
        alamatLabel = new javax.swing.JLabel();
        alamatField = new javax.swing.JTextField();
        jumlahPenghasilanLabel2 = new javax.swing.JLabel();
        jumlahPenghasilanLabel1 = new javax.swing.JLabel();
        jumlahPenghasilanLabel3 = new javax.swing.JLabel();

        FormListener formListener = new FormListener();

        org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, list, masterTable);
        org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${kodeMuzaki}"));
        columnBinding.setColumnName("Kode Muzaki");
        columnBinding.setColumnClass(String.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${namaMuzaki}"));
        columnBinding.setColumnName("Nama Muzaki");
        columnBinding.setColumnClass(String.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${email}"));
        columnBinding.setColumnName("Email");
        columnBinding.setColumnClass(String.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${noHp}"));
        columnBinding.setColumnName("No Hp");
        columnBinding.setColumnClass(String.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${alamat}"));
        columnBinding.setColumnName("Alamat");
        columnBinding.setColumnClass(String.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${jenisZakat}"));
        columnBinding.setColumnName("Jenis Zakat");
        columnBinding.setColumnClass(String.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${jumlahJiwa}"));
        columnBinding.setColumnName("Jumlah Jiwa");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${totalZakat}"));
        columnBinding.setColumnName("Total Zakat");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${jumlahPenghasilan}"));
        columnBinding.setColumnName("Jumlah Penghasilan");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nishab}"));
        columnBinding.setColumnName("Nishab");
        columnBinding.setColumnClass(Float.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${infaq}"));
        columnBinding.setColumnName("Infaq");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${totalUang}"));
        columnBinding.setColumnName("Total Uang");
        columnBinding.setColumnClass(Integer.class);
        bindingGroup.addBinding(jTableBinding);

        masterScrollPane.setViewportView(masterTable);

        saveButton.setBackground(new java.awt.Color(0, 204, 153));
        saveButton.setFont(new java.awt.Font("OCR A Extended", 0, 12)); // NOI18N
        saveButton.setText("Save");
        saveButton.addActionListener(formListener);

        refreshButton.setBackground(new java.awt.Color(0, 204, 153));
        refreshButton.setFont(new java.awt.Font("OCR A Extended", 0, 12)); // NOI18N
        refreshButton.setText("Refresh");
        refreshButton.addActionListener(formListener);

        newButton.setBackground(new java.awt.Color(0, 204, 153));
        newButton.setFont(new java.awt.Font("OCR A Extended", 0, 12)); // NOI18N
        newButton.setText("New");
        newButton.addActionListener(formListener);

        deleteButton.setBackground(new java.awt.Color(0, 204, 153));
        deleteButton.setFont(new java.awt.Font("OCR A Extended", 0, 12)); // NOI18N
        deleteButton.setText("Delete");

        org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), deleteButton, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        deleteButton.addActionListener(formListener);

        jPanel1.setBackground(new java.awt.Color(0, 102, 102));

        jumlahPenghasilanLabel.setBackground(new java.awt.Color(255, 255, 255));
        jumlahPenghasilanLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        jumlahPenghasilanLabel.setForeground(new java.awt.Color(255, 255, 255));
        jumlahPenghasilanLabel.setText("Jumlah Penghasilan:");

        jumlahPenghasilanField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.jumlahPenghasilan}"), jumlahPenghasilanField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), jumlahPenghasilanField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        jumlahPenghasilanField.addActionListener(formListener);
        jumlahPenghasilanField.addKeyListener(formListener);

        nishabLabel.setBackground(new java.awt.Color(255, 255, 255));
        nishabLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        nishabLabel.setForeground(new java.awt.Color(255, 255, 255));
        nishabLabel.setText("Nishab:");

        nishabField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.nishab}"), nishabField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), nishabField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        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)
                    .addComponent(jumlahPenghasilanLabel)
                    .addComponent(nishabLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jumlahPenghasilanField, javax.swing.GroupLayout.DEFAULT_SIZE, 147, Short.MAX_VALUE)
                    .addComponent(nishabField))
                .addContainerGap(83, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(17, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jumlahPenghasilanLabel)
                    .addComponent(jumlahPenghasilanField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(nishabLabel)
                    .addComponent(nishabField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(40, 40, 40))
        );

        jPanel2.setBackground(new java.awt.Color(0, 102, 102));

        jenisZakatLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        jenisZakatLabel.setForeground(new java.awt.Color(255, 255, 255));
        jenisZakatLabel.setText("Jenis Zakat:");

        CmbZakat.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        CmbZakat.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Fitrah", "Fidyah" }));

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.jenisZakat}"), CmbZakat, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
        bindingGroup.addBinding(binding);

        CmbZakat.addActionListener(formListener);

        jumlahJiwaLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        jumlahJiwaLabel.setForeground(new java.awt.Color(255, 255, 255));
        jumlahJiwaLabel.setText("Jumlah Jiwa:");

        jumlahJiwaField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.jumlahJiwa}"), jumlahJiwaField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), jumlahJiwaField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        jumlahJiwaField.addActionListener(formListener);
        jumlahJiwaField.addKeyListener(formListener);

        totalZakatLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        totalZakatLabel.setForeground(new java.awt.Color(255, 255, 255));
        totalZakatLabel.setText("Total Zakat:");

        totalZakatField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.totalZakat}"), totalZakatField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), totalZakatField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jenisZakatLabel)
                    .addComponent(jumlahJiwaLabel)
                    .addComponent(totalZakatLabel))
                .addGap(35, 35, 35)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(totalZakatField, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jumlahJiwaField, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(CmbZakat, javax.swing.GroupLayout.Alignment.LEADING, 0, 204, Short.MAX_VALUE))
                .addGap(23, 23, 23))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jenisZakatLabel)
                    .addComponent(CmbZakat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jumlahJiwaLabel)
                    .addComponent(jumlahJiwaField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(totalZakatLabel)
                    .addComponent(totalZakatField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel3.setBackground(new java.awt.Color(0, 102, 102));

        infaqLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        infaqLabel.setForeground(new java.awt.Color(255, 255, 255));
        infaqLabel.setText("Infaq:");

        totalUangLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        totalUangLabel.setForeground(new java.awt.Color(255, 255, 255));
        totalUangLabel.setText("Total Uang:");

        totalUangField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.totalUang}"), totalUangField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), totalUangField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        infaqField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.infaq}"), infaqField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), infaqField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        infaqField.addKeyListener(formListener);

        BtnProses.setBackground(new java.awt.Color(0, 204, 204));
        BtnProses.setFont(new java.awt.Font("Adobe Gothic Std B", 0, 12)); // NOI18N
        BtnProses.setText("Proses");
        BtnProses.addActionListener(formListener);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(2, 2, 2)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(infaqLabel)
                    .addComponent(totalUangLabel))
                .addGap(35, 35, 35)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(infaqField, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(totalUangField, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(BtnProses, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap(30, Short.MAX_VALUE)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(BtnProses, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(infaqLabel)
                            .addComponent(infaqField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(totalUangLabel)
                            .addComponent(totalUangField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap())
        );

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

        kodeMuzakiLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        kodeMuzakiLabel.setText("Kode Muzaki:");

        kodeMuzakiField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.kodeMuzaki}"), kodeMuzakiField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), kodeMuzakiField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        namaMuzakiField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.namaMuzaki}"), namaMuzakiField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), namaMuzakiField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        namaMuzakiLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        namaMuzakiLabel.setText("Nama Muzaki:");

        emailLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        emailLabel.setText("Email:");

        emailField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.email}"), emailField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), emailField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        noHpLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        noHpLabel.setText("No Hp:");

        noHpField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.noHp}"), noHpField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), noHpField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        alamatLabel.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N
        alamatLabel.setText("Alamat:");

        alamatField.setFont(new java.awt.Font("Book Antiqua", 0, 14)); // NOI18N

        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.alamat}"), alamatField, org.jdesktop.beansbinding.BeanProperty.create("text"));
        binding.setSourceUnreadableValue("null");
        bindingGroup.addBinding(binding);
        binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), alamatField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
        bindingGroup.addBinding(binding);

        alamatField.addActionListener(formListener);

        jumlahPenghasilanLabel2.setFont(new java.awt.Font("Book Antiqua", 0, 24)); // NOI18N
        jumlahPenghasilanLabel2.setForeground(new java.awt.Color(0, 0, 204));
        jumlahPenghasilanLabel2.setText("Data Muzaki");

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(kodeMuzakiLabel)
                    .addComponent(namaMuzakiLabel)
                    .addComponent(emailLabel))
                .addGap(35, 35, 35)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(namaMuzakiField, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(emailField, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(kodeMuzakiField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(48, 48, 48)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(noHpLabel)
                    .addComponent(alamatLabel))
                .addGap(64, 64, 64)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(noHpField, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(alamatField, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jumlahPenghasilanLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 158, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(269, 269, 269))
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                .addComponent(jumlahPenghasilanLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(kodeMuzakiLabel)
                            .addComponent(kodeMuzakiField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(namaMuzakiLabel)
                            .addComponent(namaMuzakiField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(noHpLabel)
                            .addComponent(noHpField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(8, 8, 8)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(alamatLabel)
                            .addComponent(alamatField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(emailLabel)
                    .addComponent(emailField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jumlahPenghasilanLabel1.setFont(new java.awt.Font("Book Antiqua", 0, 24)); // NOI18N
        jumlahPenghasilanLabel1.setText("Zakat Penghasilan");

        jumlahPenghasilanLabel3.setFont(new java.awt.Font("Book Antiqua", 0, 24)); // NOI18N
        jumlahPenghasilanLabel3.setText("Zakat Fitrah/Fidyah");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(masterScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 819, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(10, 10, 10)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                                .addComponent(jumlahPenghasilanLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 227, javax.swing.GroupLayout.PREFERRED_SIZE)
                                                .addGap(51, 51, 51)))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(jumlahPenghasilanLabel1)
                                        .addGap(30, 30, 30))
                                    .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGap(72, 72, 72)
                .addComponent(jPanel3, 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.LEADING)
                    .addComponent(newButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(refreshButton))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(saveButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(170, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(masterScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 131, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jumlahPenghasilanLabel3)
                    .addComponent(jumlahPenghasilanLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel1, 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.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(newButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(refreshButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(23, 23, 23))
        );

        bindingGroup.bind();
    }

    // Code for dispatching events from components to event handlers.

    private class FormListener implements java.awt.event.ActionListener, java.awt.event.KeyListener {
        FormListener() {}
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            if (evt.getSource() == saveButton) {
                bayarZakat.this.saveButtonActionPerformed(evt);
            }
            else if (evt.getSource() == refreshButton) {
                bayarZakat.this.refreshButtonActionPerformed(evt);
            }
            else if (evt.getSource() == newButton) {
                bayarZakat.this.newButtonActionPerformed(evt);
            }
            else if (evt.getSource() == deleteButton) {
                bayarZakat.this.deleteButtonActionPerformed(evt);
            }
            else if (evt.getSource() == jumlahPenghasilanField) {
                bayarZakat.this.jumlahPenghasilanFieldActionPerformed(evt);
            }
            else if (evt.getSource() == CmbZakat) {
                bayarZakat.this.CmbZakatActionPerformed(evt);
            }
            else if (evt.getSource() == jumlahJiwaField) {
                bayarZakat.this.jumlahJiwaFieldActionPerformed(evt);
            }
            else if (evt.getSource() == BtnProses) {
                bayarZakat.this.BtnProsesActionPerformed(evt);
            }
            else if (evt.getSource() == alamatField) {
                bayarZakat.this.alamatFieldActionPerformed(evt);
            }
        }

        public void keyPressed(java.awt.event.KeyEvent evt) {
        }

        public void keyReleased(java.awt.event.KeyEvent evt) {
        }

        public void keyTyped(java.awt.event.KeyEvent evt) {
            if (evt.getSource() == jumlahJiwaField) {
                bayarZakat.this.jumlahJiwaFieldKeyTyped(evt);
            }
            else if (evt.getSource() == jumlahPenghasilanField) {
                bayarZakat.this.jumlahPenghasilanFieldKeyTyped(evt);
            }
            else if (evt.getSource() == infaqField) {
                bayarZakat.this.infaqFieldKeyTyped(evt);
            }
        }
    }// </editor-fold>                        

    
    @SuppressWarnings("unchecked")
    private void refreshButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
        entityManager.getTransaction().rollback();
        entityManager.getTransaction().begin();
        java.util.Collection data = query.getResultList();
        for (Object entity : data) {
            entityManager.refresh(entity);
        }
        list.clear();
        list.addAll(data);
    }                                             

    private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
        int[] selected = masterTable.getSelectedRows();
        List<uas.Tblzakat> toRemove = new ArrayList<uas.Tblzakat>(selected.length);
        for (int idx = 0; idx < selected.length; idx++) {
            uas.Tblzakat t = list.get(masterTable.convertRowIndexToModel(selected[idx]));
            toRemove.add(t);
            entityManager.remove(t);
        }
        list.removeAll(toRemove);
    }                                            

    private void newButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
        uas.Tblzakat t = new uas.Tblzakat();
        entityManager.persist(t);
        list.add(t);
        int row = list.size() - 1;
        masterTable.setRowSelectionInterval(row, row);
        masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true));
    }                                         
    
    private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           
        try {
            entityManager.getTransaction().commit();
            entityManager.getTransaction().begin();
        } catch (RollbackException rex) {
            rex.printStackTrace();
            entityManager.getTransaction().begin();
            List<uas.Tblzakat> merged = new ArrayList<uas.Tblzakat>(list.size());
            for (uas.Tblzakat t : list) {
                merged.add(entityManager.merge(t));
            }
            list.clear();
            list.addAll(merged);
        }
    }                                          

    private void jumlahJiwaFieldActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
        int jumlahjiwa=Integer.parseInt(jumlahJiwaField.getText());
        int fitrah = jumlahjiwa*35000;
        int fidyah = jumlahjiwa*1200000;
        if (CmbZakat.getSelectedItem() == "Fitrah"){
          
            totalZakatField.setText(String.valueOf(fitrah));
        }
        else {
                totalZakatField.setText(String.valueOf(fidyah));
        }
    }                                               

    private void jumlahPenghasilanFieldActionPerformed(java.awt.event.ActionEvent evt) {                                                       
        // TODO add your handling code here:
        int penghasilan = Integer.parseInt(jumlahPenghasilanField.getText());
        //float nishab = penghasilan/2.5;
        int nishab=(int)((int) (penghasilan)*(2.5)/100);
        nishabField.setText(String.valueOf(nishab));
    }                                                      

    private void BtnProsesActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        int totalzakat = Integer.parseInt(totalZakatField.getText());
        int totalnishab = Integer.parseInt(nishabField.getText());
        int infaq = Integer.parseInt(infaqField.getText());
        int totaluang = totalzakat+totalnishab+infaq;
        
        totalUangField.setText(""+totaluang);

        
    }                                         

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

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

    private void jumlahJiwaFieldKeyTyped(java.awt.event.KeyEvent evt) {                                         
        // TODO add your handling code here:
        if (!Character.isDigit(evt.getKeyChar())){
                evt.consume();
            }
    }                                        

    private void jumlahPenghasilanFieldKeyTyped(java.awt.event.KeyEvent evt) {                                                
        // TODO add your handling code here:
        if (!Character.isDigit(evt.getKeyChar())){
                evt.consume();
            }
    }                                               

    private void infaqFieldKeyTyped(java.awt.event.KeyEvent evt) {                                    
        // TODO add your handling code here:
        if (!Character.isDigit(evt.getKeyChar())){
                evt.consume();
            }
    }                                   


    // Variables declaration - do not modify                     
    private javax.swing.JButton BtnProses;
    private javax.swing.JComboBox<String> CmbZakat;
    private javax.swing.JTextField alamatField;
    private javax.swing.JLabel alamatLabel;
    private javax.swing.JButton deleteButton;
    private javax.swing.JTextField emailField;
    private javax.swing.JLabel emailLabel;
    private javax.persistence.EntityManager entityManager;
    private javax.swing.JTextField infaqField;
    private javax.swing.JLabel infaqLabel;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JLabel jenisZakatLabel;
    private javax.swing.JTextField jumlahJiwaField;
    private javax.swing.JLabel jumlahJiwaLabel;
    private javax.swing.JTextField jumlahPenghasilanField;
    private javax.swing.JLabel jumlahPenghasilanLabel;
    private javax.swing.JLabel jumlahPenghasilanLabel1;
    private javax.swing.JLabel jumlahPenghasilanLabel2;
    private javax.swing.JLabel jumlahPenghasilanLabel3;
    private javax.swing.JTextField kodeMuzakiField;
    private javax.swing.JLabel kodeMuzakiLabel;
    private java.util.List<uas.Tblzakat> list;
    private javax.swing.JScrollPane masterScrollPane;
    private javax.swing.JTable masterTable;
    private javax.swing.JTextField namaMuzakiField;
    private javax.swing.JLabel namaMuzakiLabel;
    private javax.swing.JButton newButton;
    private javax.swing.JTextField nishabField;
    private javax.swing.JLabel nishabLabel;
    private javax.swing.JTextField noHpField;
    private javax.swing.JLabel noHpLabel;
    private javax.persistence.Query query;
    private javax.swing.JButton refreshButton;
    private javax.swing.JButton saveButton;
    private javax.swing.JTextField totalUangField;
    private javax.swing.JLabel totalUangLabel;
    private javax.swing.JTextField totalZakatField;
    private javax.swing.JLabel totalZakatLabel;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration                   
    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(bayarZakat.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(bayarZakat.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(bayarZakat.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(bayarZakat.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                JFrame frame = new JFrame();
                frame.setContentPane(new bayarZakat());
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.pack();
                frame.setVisible(true);
            }
        });
    }
    
}


Demikian tulisan saya.

Terimakasih,

Seli Malinda









4 komentar: