program penghitung berat badan ideal menggunakan java

Daftar Materi Java

Rumus menghitung berat badan ideal saya singkat saja (BBI) itu dapat menggunakan rumus :

  • Rumus BBI menggunakan parameter umur dan tinggi badan :
  1. jika umur (anak2) <=10, BBI = (umur * 2) + 8;
  2. jika umur (dewasa) >10 dan < = 60 , BBI = (tinggi – 100)*0.9;
  • jika tinggi badan diukur berdasarkan tinggi lutut(TL) Pria atau Wanita :
  1. jika Pria, tinggi = 6.50 + (1.38 + TL) – (0.08 * umur);   Lalu gunakan rumus BBI sesuai dengan umur.
  2. Jika Wanita, tinggi = 89.68 + (1.53 * TL) – (0.17 *umur); lalu gunakan rumus BBI sesuai dengan umur.
  • jika tinggi badan diukur berdasarkan rentang lengan (RL) Pria atau Wanita :
  1. jika Pria, tinggi = 118.24 + (0.28*RL)-(0.07*umur); lalu gunakan rumus BBI sesuai dengan umur.
  2. jika Wanita, tinggi = 63.18 + (0.63 *RL) – (0.17 * umur); lalu gunakan rumus BBI sesuai dengan umur.

nah rumus menghitung berat badan ideal nya sudah diketahui, tinggal penerapan di kode program saja, berikut ini adalah tahapan pembuatan programnya.

    • Buat Project baru di netbean, berinama “CountOnYou” atau terserah anda.
    • buat kelas baru untuk  logic nya dengan nama CountLogic dan lengkapi kodenya sehingga menjadi seperti berikut

[sourcecode language=”java”]

import java.math.BigDecimal;
import java.math.RoundingMode;

public class CountLogic {

public double hitungDrUmur(int umur, double t) {
double berat = 0;
if (umur <= 10) {
berat = (umur * 2) + 8;
} else if (umur > 10 && umur <= 70) {
berat = (t – 100) * 0.9;// – ((t – 100) * 0.1);
}
return berat;
}

public double dariKakiLengan(String kelamin, String dasar, int umur, int panjang) {
double berat = 0;
double tinggi = 0;
if (kelamin.equals("Pria") && dasar.equals("lutut")) {
tinggi = 6.50 + (1.38 + panjang) – (0.08 * umur);
} else if (kelamin.equals("Pria") && dasar.equals("lengan")) {
tinggi = 118.24 + (0.28 * panjang) – (0.07 * umur);
} else if (kelamin.equals("Wanita") && dasar.equals("lutut")) {
tinggi = 89.68 + (1.53 * panjang) – (0.17 * umur);
} else if (kelamin.equals("wanita") && dasar.equals("lengan")) {
tinggi = 63.18 + (0.63 * panjang) – (0.17 * umur);
}
berat = hitungDrUmur(umur, tinggi);
BigDecimal beratDibulatkan = new BigDecimal(berat);
beratDibulatkan = beratDibulatkan.setScale(2, RoundingMode.HALF_UP);
return beratDibulatkan.doubleValue();
}

public String isNormal(double bb, double bbi) {
String[] araistatus = {"Kurus", "NormaL", "OverWeight", "Obesity"};
String status = "";
if (bb < bbi – (bbi * 0.1)) {
status = araistatus[0];
} else if ((bb >= bbi – (bbi * 0.1)) && (bb <= bbi + (bbi * 0.1))) {
status = araistatus[1];
} else if ((bb >= bbi + (bbi * 0.1)) && (bb <= bbi + (bbi * 0.2))) {
status = araistatus[2];
} else if (bb > bbi + (bbi * 0.2)) {
status = araistatus[3];
}
return status;
}

public static void main(String[] args) {
System.out.println(new CountLogic().hitungDrUmur(30, 165));
}
}
[/sourcecode]

terdapat 3 method untuk menghitung beratbadan, pada method dariKakiLengan terdapat object dari kelas BigDecimal yang digunakan untuk membatasi jumlah angka dibelakang koma.

  • selanjutnya kita akan membuat desain user interfacenya(UI) menggunakan netbean dengan cara, klik menu NewFile-> Swing GUI Form -> JFrame form -> Next . beri nama CountApp . desain lah sehingga menjadi seperti ini

untuk kemudahan, saya hanya menggunakan freeLayout jadi tinggal drag n drop saja tak perlu atur layout, biar netbean yang atur, sebagai catatan dalam mendesain :

    1. Drag n Drop dari window pallete yang ada di sebelah kanan tengah agak atas, hehe jika bingung [ctrl+shift+8]. nanti akan mengarah ke window pallete .
    2. aturlah propertis komponen sesuai kemauan dengan klik komponen misal button lalu edit window properties yang ada disebelah kanan agag bawah, atau [ctrl+shift+7]. yang perlu diperhatikan adalah komponen combo box,  ubahlah item combo_kelamin dengan mengisi item [Pria, Wanita]  pada kolom properties, sebelumnya klik komponen combo box dahulu. lakukan hal yang sama pada combobox lutut ganti item menjadi [lutut, lengan].
    3. berikut kode untuk semua variabel dari komponen :
    4. [sourcecode language=”java”]
      // Variables declaration – do not modify
      private javax.swing.JButton btn_htg1;
      private javax.swing.JButton btn_htg2;
      private javax.swing.JComboBox combo_kelamin;
      private javax.swing.JComboBox combo_lutut;
      private javax.swing.JLabel jLabel1;
      private javax.swing.JLabel jLabel11;
      private javax.swing.JLabel jLabel13;
      private javax.swing.JLabel jLabel14;
      private javax.swing.JLabel jLabel15;
      private javax.swing.JLabel jLabel2;
      private javax.swing.JLabel jLabel3;
      private javax.swing.JLabel jLabel4;
      private javax.swing.JLabel jLabel7;
      private javax.swing.JLabel jLabel8;
      private javax.swing.JLabel jLabel9;
      private javax.swing.JPanel jPanel1;
      private javax.swing.JPanel jPanel2;
      private javax.swing.JPanel jPanel3;
      private javax.swing.JPanel jPanel4;
      private javax.swing.JLabel label1;
      private javax.swing.JLabel lbl_normal;
      private javax.swing.JTextField tex_berat;
      private javax.swing.JTextField tex_panjang;
      private javax.swing.JTextField tex_tinggi;
      private javax.swing.JTextField tex_umur;
      // End of variables declaration
      [/sourcecode]
    5. setelah komponen lengkap , lengkapi kode kode yang sudah ada menjadi seperti ini
      public class CountApp extends javax.swing.JFrame {
        CountLogic control;
      
        /** Creates new form CountApp */
        public CountApp() {
          initComponents();
          control = new CountLogic();
        }
    6. berikan event pada tombol btn_htg1 dengan cara klik kanan botton -> events->action->actionperformed. lalu lengkapi menjadi

[sourcecode language=”java”]
private void btn_htg1ActionPerformed(java.awt.event.ActionEvent evt) {
if (!tex_umur.getText().equals("") && !tex_tinggi.getText().equals("")&& !tex_berat.getText().equals("")) {
int umur = Integer.parseInt(tex_umur.getText());
double tinggi = Double.parseDouble(tex_tinggi.getText());
double berat = Double.parseDouble(tex_berat.getText());
double beratIdeal = control.hitungDrUmur(umur, tinggi);
label1.setText(beratIdeal + " Kg");
String isnormal = control.isNormal(berat, beratIdeal) ;
lbl_normal.setText("berat badan anda : "+isnormal);
}
}
[/sourcecode]

    1. lakukan hal yang sama pada btn_htg2, lengkapi kodenya menjadi

[sourcecode language=”java”]
private void btn_htg2ActionPerformed(java.awt.event.ActionEvent evt) {
if (!tex_panjang.getText().equals("")&& !tex_umur.getText().equals("")&& !tex_berat.getText().equals("")) {
double beratIdeal;
double berat = Double.parseDouble(tex_berat.getText());
String kel = (String) (String) combo_kelamin.getSelectedItem();
String dasar = (String) combo_lutut.getSelectedItem();
int umur = Integer.parseInt(tex_umur.getText());
int panjang = Integer.parseInt(tex_panjang.getText());
//System.out.println(umur+" "+panjang);
beratIdeal = control.dariKakiLengan(kel, dasar, umur, panjang);
label1.setText(beratIdeal+" Kg");
String isnormal = control.isNormal(berat, beratIdeal) ;
lbl_normal.setText("berat badan anda : "+isnormal);

}
}
[/sourcecode]

Oke, sepertinya itu saja… ^_^ termakasih sudah menyimak.

Daftar Materi Java
11 Comments

Add a Comment

Your email address will not be published. Required fields are marked *