/*-----------------------------
* Nama : Ayi Ruhuyat
* Nim : 1210705025
* Nama Program : " Pembagian Daging Qurban "
*/
import javax.swing.*; //kedua untuk mendevelop GUI atau nama kode dari proyek yang mendevelop komponen baru.
import java.awt.*; //merupakan fungsi yang digunakan untuk proses inputan dalam program java.
import java.sql.*; //Untuk Menampilkan atau menghubungkan ke sql
import java.awt.event.*; //merupakan fungsi import yang digunakan untuk proses deklarasi dari class event yang berisi komponen.
import javax.swing.text.*; //Parameter fungsi getter bisa menerima nilai index dari kolom ataupun nama kolomnya.
public class PembagianDagingQurban extends JFrame{ //merupakan nama kelas yaitu PembagianDagingQurban
JLabel jLabel1 = new JLabel(); //membuat & memanggil JLabel baru dengan objek jLabel1
JLabel jLabel2 = new JLabel(); //membuat & memanggil JLabel baru dengan objek jLabel2
JLabel jLabel3 = new JLabel(); //membuat & memanggil JLabel baru dengan objek jLabel3
JLabel jLabel4 = new JLabel(); //membuat & memanggil JLabel baru dengan objek jLabel4
JLabel jLabel6 = new JLabel(); //membuat & memanggil JLabel baru dengan objek jLabel6
//merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek textJmlDaging
JTextField textJmlDaging = new JTextField();
//merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek textJmlMustaq
JTextField textJmlMustaq = new JTextField();
//merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek textSatu
JTextField textSatu = new JTextField();
//merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek textDua
JTextField textDua = new JTextField();
//merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek textDua
JTextField texttiga = new JTextField();
List daftar = new List();
JLabel jLabel5 = new JLabel();
Button button1 = new Button();
Button button2 = new Button();
//pembuatan main project
public static void main(String[]args){ //merupakan perintah method main dimana method ini berfungsi sebagai tempat sintaks-sintaks yang menghasilkan output.
PembagianDagingQurban pembagian = new PembagianDagingQurban();//membuat objek dengan nama pembagian dari PembagianDagingQurban
pembagian.setSize(380,350); //mengatur ukuran pada tampilan frame
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
int lebar=(screen.width - pembagian.getSize().width)/2;
int tinggi=(screen.height - pembagian.getSize().height)/2;
pembagian.setTitle("Program Pembagian Daging Qurban"); // mengatur & membuat judul pada frame
pembagian.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pembagian.setLocation(lebar,tinggi);
pembagian.setResizable(false);
pembagian.setVisible(true);
}
public PembagianDagingQurban(){
jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
jLabel1.setText("Jumlah Daging : "); //membuat & memanggil JLabel baru
jLabel1.setBounds(new Rectangle(10,13,100,15));
this.getContentPane().setLayout(null);
jLabel2.setBounds(new Rectangle(10,43,130,15));
jLabel2.setHorizontalAlignment(SwingConstants.LEFT);
jLabel2.setText("Jumlah Mustahaq : "); //membuat & memanggil JLabel baru
button1.setLabel("H I T U N G !");
button1.setBounds(110,70,128,24);
//menambah act listener
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){ //merupakan method yang berguna untuk memberi action pada komponen bila terjadi event pada komponen tersebut dengan e sebagai namanya.
//method dipanggil saat ditekan
Proses(e);
}
});
this.getContentPane().setLayout(null);//Mengatur tampilan pada frame
jLabel3.setBounds(new Rectangle(10,103,130,15)); //mengatur bentuk bondaries objek jLabel3
jLabel3.setHorizontalAlignment(SwingConstants.LEFT);
jLabel3.setText("Untuk yg Berkurban : ");
this.getContentPane().setLayout(null);
jLabel4.setBounds(new Rectangle(10,133,130,15)); //mengatur bentuk bondaries objek jLabel4
jLabel4.setHorizontalAlignment(SwingConstants.LEFT);
jLabel4.setText("Untuk Mustahaq : ");
this.getContentPane().setLayout(null);
jLabel6.setBounds(new Rectangle(10,160,150,25)); //mengatur bentuk bondaries objek jLabel4
jLabel6.setHorizontalAlignment(SwingConstants.LEFT);
jLabel6.setText("Untuk Per Orang Mustahaq : ");
textJmlDaging.setText(null);
textJmlDaging.setBounds(new Rectangle(150,13,187,21)); //mengatur bentuk bondaries objek textJmlDaging
textJmlDaging.setDocument(new batasiInput((byte)10).getFilter());
textJmlMustaq.setText(null);
textJmlMustaq.setBounds(new Rectangle(150,43,187,21)); //mengatur bentuk bondaries objek textJmlMustaq
textSatu.setText(null);
textSatu.setBounds(new Rectangle(150,103,187,21)); //mengatur bentuk bondaries objek textSatu
textDua.setText(null);
textDua.setBounds(new Rectangle(150,133,187,21)); //mengatur bentuk bondaries objek textDua
texttiga.setText(null);
texttiga.setBounds(new Rectangle(150,162,187,21)); //mengatur bentuk bondaries objek textSatu
button2.setLabel("Coba Lagi?");
button2.setBounds(110,210,128,24); //mengatur bentuk bondaries objek button2
//menambah act listener
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){ //merupakan method yang berguna untuk memberi action pada komponen bila terjadi event pada komponen tersebut dengan e sebagai namanya.
//method dipanggil saat ditekan
Proses(e);
}
});
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent r){ // merupakan method yang berguna untuk memberi action pada komponen bila terjadi event pada komponen tersebut dengan r sebagai namanya.
//method dipanggil saat ditekan
lagi(r);
}
});
this.getContentPane().add(jLabel1,null); //menambah objek jLabel1 pada frame
this.getContentPane().add(jLabel2,null); //menambah objek jLabel2 pada frame
this.getContentPane().add(jLabel3,null); //menambah objek jLabel3 pada frame
this.getContentPane().add(jLabel4,null); //menambah objek jLabel4 pada frame
this.getContentPane().add(jLabel6,null); //menambah objek jLabel4 pada frame
this.getContentPane().add(textJmlDaging,null); //menambah objek textJmlDaging pada frame
this.getContentPane().add(textJmlMustaq,null); //menambah objek textJmlMustaq pada frame
this.getContentPane().add(textSatu,null); //menambah objek textSatu pada frame
this.getContentPane().add(textDua,null); //menambah objek textDua pada frame
this.getContentPane().add(texttiga,null); //menambah objek textSatu pada frame
this.getContentPane().add(button1,null); //menambah objek button1 pada frame
this.getContentPane().add(button2,null); //menambah objek button2 pada frame
}
void Proses(ActionEvent e){
//Deklarasi Variable
float hasil,jumlahDaging, jumlah, jumlahMustahaq, mustahiq;
jumlahDaging = Float.parseFloat (textJmlDaging.getText());
jumlahMustahaq = Float.parseFloat(textJmlMustaq.getText());
hasil=(jumlahDaging/3); //Rumus untuk menghitung daging untuk yang berqurban
jumlah=(jumlahDaging*2)/3; //Rumus untuk mustahiq keseluruhan
mustahiq= jumlah/jumlahMustahaq; //Rumus untuk pembagian per mustahiq
textSatu.setText(String.valueOf(hasil));
textDua.setText(String.valueOf(jumlah));
texttiga.setText(String.valueOf(mustahiq));
textJmlDaging.setEnabled(false);
textJmlMustaq.setEnabled(false);
button1.setEnabled(false);
button2.setEnabled(true);
}
//Proses Pengulangan
void lagi(ActionEvent r){
textJmlDaging.setEnabled(true);
textJmlMustaq.setEnabled(true);
button1.setEnabled(true);
textJmlDaging.setText("");
textJmlMustaq.setText("");
textSatu.setText("");
textDua.setText("");
texttiga.setText("");
button2.setEnabled(false);
}
class batasiInput{
byte length;
PlainDocument filter;
public batasiInput(byte length){
this.length = length;
}
public PlainDocument getFilter(){
filter=new javax.swing.text.PlainDocument(){
public void insertString(int offs, String str,AttributeSet a) throws BadLocationException{
int ab=textJmlDaging.getText().length();
if (ab<length){
super.insertString(offs, str, a);
}
}
};
return filter;
}
}
}
Hasil Tampilannya....
Semoga Bermanfaat............Selamat Mencoba..............