Nama : Yodik Kristanto
NIM : 2214321009
Semester : 1
Kelas : D Sore
1. Masukkan nama
2. Masukkan tanggal, bulan, dan tahun lahir dengan format dd-mm-yyyy, ex: 16-07-1981
3. Ambil tahun_lahir kemudian kurangkan dengan tahun 2028
Umur = 2028-(tahun_lahir)
4. Ambil tanggal dan bulan lalu bandingkan dengan aturan berikut:
- Jika lahir antara tanggal 21 Maret-19 April maka zodiac aries
- Jika lahir antara tanggal 20 April-20 Mei maka zodiac Taurus
- Jika lahir antara tanggal 21 Mei-20 Juni maka zodiac Gemini
- Jika lahir antara tanggal 21 Juni-22 Juli maka zodiac cancer
- Jika lahir antara tanggal 23 Juli-22 Agustus maka zodiac leo
- Jika lahir antara tanggal 23 Agustus-22 September maka zodiac virgo
- Jika lahir antara tanggal 23 September-22 Oktober maka zodiac libra
- Jika lahir antara tanggal 23 Oktober-21 November maka zodiac scorpio
- Jika lahir antara tanggal 22 November-21 Desember maka zodiac Sagittarius
- Jika lahir antara tanggal 22 Desember-19 Januari maka zodiac Capricorn
- Jika lahir antara tanggal 20 Januari-18 Februari maka zodiac aquarius
- Jika lahir antara tanggal 19 Februari-20 Maret maka zodiac pisces
5. Tampilkan nama
6. Tampilkan zodiac
7. Tampilkan umur
Flowchart :
Code Program :
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package javaapplication22;
/**
*
* @author Yodik Kristanto
*/
public class NewJFrame extends javax.swing.JFrame {
/**
* Creates new form NewJFrame
*/
public NewJFrame() {
initComponents();
txtOutNama.setEditable(false);
txtOutUmur.setEditable(false);
txtOutZodiac.setEditable(false);
}
/**
* 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() {
btnProses = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
txtInNama = new javax.swing.JTextField();
txtInTglLahir = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
txtOutNama = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
txtOutZodiac = new javax.swing.JTextField();
txtOutUmur = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
btnProses.setText("Proses");
btnProses.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnProsesActionPerformed(evt);
}
});
jLabel1.setText("Nama :");
jLabel2.setText("Tanggal Lahir :");
jLabel3.setText("Hasil :");
jLabel4.setText("Nama :");
jLabel5.setText("Zodiac :");
jLabel6.setText("Umur Pada Tahun 2028 :");
jLabel7.setText("Format penulisan tanggal lahir dd-mm-yyyy ex: 16-07-1981");
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)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addComponent(jLabel1)
.addComponent(jLabel6)
.addComponent(jLabel3)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(50, 50, 50))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(89, 89, 89)))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel5)
.addGap(85, 85, 85)))
.addGap(28, 28, 28)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignmen
t.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.TRAILING, false)
.addComponent(txtOutZodiac,
javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addComponent(txtOutUmur,
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtOutNama,
javax.swing.GroupLayout.Alignment.LEADING))
.addComponent(txtInTglLahir,
javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(155, 155, 155)
.addComponent(txtInNama, javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnProses, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtInNama, 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(txtInTglLahir, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addComponent(jLabel3)
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(txtOutNama, 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(txtOutZodiac, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtOutUmur, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnProses, javax.swing.GroupLayout.PREFERRED_SIZE, 48,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 52,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(30, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void btnProsesActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String nama = txtInNama.getText();
String tglLahir = txtInTglLahir.getText();
txtOutNama.setText(nama);
zodiak(tglLahir);
umur(tglLahir);
}
public void umur(String tglLahir) {
int tahun = Integer.parseInt(tglLahir.substring(6)); //6-9 tahun
int umur=0;
umur=2028-tahun;
txtOutUmur.setText(Integer.toString(umur));
}
public void zodiak(String tglLahir) {
int tgl = Integer.parseInt(tglLahir.substring(0,2));
int bln = Integer.parseInt(tglLahir.substring(3,5));//6-9
if( ((tgl>=20&&tgl<=31)&&bln==1) || ((tgl>=1&&tgl<=18)&&bln==2)){
txtOutZodiac.setText("Aquarius");
}else if( ((tgl>=19&&tgl<=29)&&bln==2) || ((tgl>=1&&tgl<=20)&&bln==3)){
txtOutZodiac.setText("Pisces");
}else if( ((tgl>=21&&tgl<=31)&&bln==3) || ((tgl>=1&&tgl<=19)&&bln==4)){
txtOutZodiac.setText("Aries");
}else if( ((tgl>=20&&tgl<=30)&&bln==4) || ((tgl>=1&&tgl<=20)&&bln==5)){
txtOutZodiac.setText("Taurus");
}else if( ((tgl>=21&&tgl<=31)&&bln==5) || ((tgl>=1&&tgl<=20)&&bln==6)){
txtOutZodiac.setText("Gemini");
}else if( ((tgl>=21&&tgl<=30)&&bln==6) || ((tgl>=1&&tgl<=22)&&bln==7)){
txtOutZodiac.setText("Cancer");
}else if( ((tgl>=23&&tgl<=31)&&bln==7) || ((tgl>=1&&tgl<=22)&&bln==8)){
txtOutZodiac.setText("Leo");
}else if( ((tgl>=23&&tgl<=30)&&bln==8) || ((tgl>=1&&tgl<=22)&&bln==9)){
txtOutZodiac.setText("Virgo");
}else if( ((tgl>=23&&tgl<=31)&&bln==9) || ((tgl>=1&&tgl<=22)&&bln==10)){
txtOutZodiac.setText("Libra");
}else if( ((tgl>=23&&tgl<=30)&&bln==10) || ((tgl>=1&&tgl<=21)&&bln==11)){
txtOutZodiac.setText("Scorpio");
}else if( ((tgl>=22&&tgl<=31)&&bln==11) || ((tgl>=1&&tgl<=21)&&bln==12)){
txtOutZodiac.setText("Sagitarius");
}else if( ((tgl>=22&&tgl<=30)&&bln==12) || ((tgl>=1&&tgl<=19)&&bln==1)){
txtOutZodiac.setText("Capricorn");
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and
feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnProses;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JTextField txtInNama;
private javax.swing.JTextField txtInTglLahir;
private javax.swing.JTextField txtOutNama;
private javax.swing.JTextField txtOutUmur;
private javax.swing.JTextField txtOutZodiac;
// End of variables declaration
}
Tampilan Program :