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

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));
  }
}

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. // 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
      
    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
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);
    }
  }
    1. lakukan hal yang sama pada btn_htg2, lengkapi kodenya menjadi
 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);

    }
  }

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

Daftar Materi Java

11 comments on “program penghitung berat badan ideal menggunakan java

  1. aslkum…. pak alqaa mohon minta projectnya ajha minta link donwloadnya soalnya saya masih bingung. sblmnya mf saya baru belajar java. dr asep pemula java

    • maaf engga bisa.. hehe coba bikin sendiri lalu kalo gak bisa tanya sampe dimana salahnya. caranya tinggal ambil tanggal sekarang dikurangi tanggal lahir. atau google aja.. lebih mudah kalo pake library JODA Time

  2. Assalamualaikum pak Alka kan saya buat form baru. jadi niatnya mau pake button buat manggil form CountApp. tapi gagal terus gimana ya pak. mksh

silahkan ditanggapi :)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s