Monday, October 29, 2012

JOptionPane JAVA Membantu Mengontrol Berat Badan



Download Aplikasi jar-nya di sini.


import javax.swing.JOptionPane;

/**
 *
 * @author ERFAN FEBRIANTORO, NIM.1210652040 TEKNIK INFORMATIKA - UNMUH JEMBER
 */
public class CekIndeksMasaTubuh {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // Membuat Pemrograman JAVA lebih interaktif dengan menerima Input dari Keyboard menggunakan JOPtionPane

        // Mendeklarasikan tipe data & variabel :
        String berat, tinggi, welcome1, welcome2, imtMu, kurang, pas, lebih,
                lebih1, lebih2, lebih3, nasehatk, nasehatp, nasehatl, salahbb, salahtb, saran, bye;
        welcome1 = "SELAMAT DATANG.\nAnda sedang menjalankan Aplikasi JAVA\nMenghitung Indeks Masa Tubuh (IMT)."
                + "\nPresented by erfan2040.blogspot.com (c) 2012.";
        welcome2 = "IMT dihitung dengan membagi Berat Badan (Kg) dengan Kuadrat Tinggi Badan (m2)."
                + "\nKlasifikasi IMT (Kg/m2) orang dewasa berdasarkan World Health Organization (WHO) Tahun 1988 :"
                + "\na.          <18,5 ==> UNDERWEIGHT"
                + "\nb.  18,5 - <25 ==> BATAS NORMAL"
                + "\nc.     25 - <30 ==> OVERWEIGHT - PREOBESE"
                + "\nd.     30 - <35 ==> OVERWEIGHT - OBESE I"
                + "\ne.     35 - <40 ==> OVERWEIGHT - OBESE II"
                + "\nf.              >40 ==> OVERWEIGHT - OBESE III"
                + "\n"
                + "\nSelamat Mencoba . . .";
        imtMu = "Maka, Indeks Massa Tubuh (IMT) Anda adalah :";
        kurang = "UPPSS . . . !!!\nIndeks Massa Tubuh (IMT) Anda KURANG,\nAnda mengalami UNDERWEIGHT !!"
                + "\nBeresiko terhadap masalah klinis.";
        pas = "SELAMAT !!!\nIndeks Massa Tubuh (IMT) Anda pada BATAS NORMAL,\nBerat Badan Anda IDEAL !!"
                + "\nBerpeluang tanpa resiko.";
        lebih = "AWAS !!!\nIndeks Massa Tubuh (IMT) Anda MULAI MELEBIHI BATAS NORMAL,\nAnda mengalami OVERWEIGHT - PREOBESE !!"
                + "\nBeresiko RENDAH terkena penyakit akibat kegemukan.";
        lebih1 = "AWAS !!!\nIndeks Massa Tubuh (IMT) Anda MELEBIHI BATAS NORMAL,\nAnda mengalami OVERWEIGHT - OBESE I !!"
                + "\nBeresiko SEDANG, terkena penyakit akibat kegemukan.";
        lebih2 = "AWAS !!!\nIndeks Massa Tubuh (IMT) Anda MELEBIHI BATAS NORMAL,\nAnda mengalami OVERWEIGHT - OBESE II !!"
                + "\nBeresiko TINGGI, terkena penyakit akibat kegemukan meningkat.";
        lebih3 = "AWAS !!!\nIndeks Massa Tubuh (IMT) Anda SANGAT MELEBIHI BATAS NORMAL,\nAnda mengalami OVERWEIGHT - PREOBESE III !!"
                + "\nBeresiko SANGAT TINGGI, terkena penyakit akibat kegemukan meningkat.";
        nasehatk = "Anda disarankan untuk MENAMBAH berat badan sebanyak ";
        nasehatp = "Pertahankan Berat Badan Anda antara";
        nasehatl = "Anda disarankan untuk MENGURANGI berat badan sebanyak ";
        saran = "Berat Badan Ideal Anda antara :";
        salahbb = "Maaf, data Berat Badan yang Anda inputkan SALAH.\nUlangi . . . !!";
        salahtb = "Maaf, data Tinggi Badan yang Anda inputkan SALAH.\nUlangi . . . !!";
        bye = "TERIMA KASIH telah mencoba aplikasi ini.\nJika Anda suka, Don't forget to like this post or share it."
                + "\nPresented by erfan2040.blogspot.com (c) 2012.";
      
        double beratMu = 0, tinggiMu = 0, hasil, selisih1 = 0, selisih2 = 0;
        boolean tes = true;

        // Membuat ucapan selamat datang & selamat mencoba :
        JOptionPane.showMessageDialog(null, welcome1);
        JOptionPane.showMessageDialog(null, welcome2);

        // Menampilkan jendela input untuk mengisikan berat badan user :
        do {
            try {
                berat = JOptionPane.showInputDialog(null, "Masukkan Berat Badan Anda dalam Kilogram (Kg)!"
                        + "\nGunakan tanda titik (.) sebagai pemisah desimal :");
                beratMu = Double.parseDouble(berat);
                JOptionPane.showMessageDialog(null, "Berat Badan yang Anda inputkan adalah " + beratMu + " Kg");
                break;
            } catch (Exception e) {
                // Menampilkan peringatan jika user menginputkan data berat badan yang salah atau bukan angka :
                JOptionPane.showMessageDialog(null, salahbb);
            }
        } while (tes);

        // Menampilkan jendela input untuk mengisikan tinggi badan user :
        do {
            try {
                tinggi = JOptionPane.showInputDialog(null, "Masukkan Tinggi Badan Anda dalam Centimeter (cm)!"
                        + "\nGunakan tanda titik (.) sebagai pemisah desimal :");
                tinggiMu = Double.parseDouble(tinggi);
                JOptionPane.showMessageDialog(null, "Tinggi Badan yang Anda inputkan adalah " + tinggiMu + " cm;");
                break;
            } catch (Exception e) {
                // Menampilkan peringatan jika user menginputkan data tinggi badan yang salah atau bukan angka :
                JOptionPane.showMessageDialog(null, salahtb);
            }
        } while (tes);

        // Menghitung IMT user :
        tinggiMu = tinggiMu / 100;
        hasil = beratMu / (tinggiMu * tinggiMu);
        JOptionPane.showMessageDialog(null, "Berat Badan Anda adalah " + beratMu + " Kg;"
                + "\nTinggi Badan Anda adalah " + tinggiMu + " meter;"
                + "\n" + imtMu + "\n" + hasil);

        // Menentukan kategori IMT user :
        if (hasil < 18.5) {
            JOptionPane.showMessageDialog(null, kurang);
        } else if ((hasil >= 18.5) & (hasil < 25)) {
            JOptionPane.showMessageDialog(null, pas);
        } else if ((hasil >= 25) & (hasil < 30)) {
            JOptionPane.showMessageDialog(null, lebih);
        } else if ((hasil >= 30) & (hasil < 35)) {
            JOptionPane.showMessageDialog(null, lebih1);
        } else if ((hasil >= 35) & (hasil < 40)) {
            JOptionPane.showMessageDialog(null, lebih2);
        } else if (hasil >= 40) {
            JOptionPane.showMessageDialog(null, lebih3);
        }

        // Menghitung Berat Badan Ideal Minimal & Maksimal yang disarankan untuk user :
        int beratMin, beratMax;
        beratMin = (int) (18.5 * tinggiMu * tinggiMu);
        beratMax = (int) (24.99 * tinggiMu * tinggiMu);
      
        if (beratMu < beratMin) {
            selisih1 = beratMin - beratMu;
        } else if (beratMu > beratMax) {
            selisih2 = beratMu - beratMax;
        }

        // Menampilkan saran untuk user :
        if (hasil < 18.5) {
            JOptionPane.showMessageDialog(null, nasehatk + " " + selisih1 + " Kg,"
                    + "\n" + saran + " " + beratMin + " - " + beratMax + " Kg.");
        } else if (hasil >= 25) {
            JOptionPane.showMessageDialog(null, nasehatl + " " + selisih2 + " Kg,"
                    + "\n" + saran + " " + beratMin + " - " + beratMax + " Kg.");
        } else {
            JOptionPane.showMessageDialog(null, nasehatp + " " + beratMin + " - " + beratMax + " Kg.");
        }

        // Menampilkan ucapan terima kasih :
        JOptionPane.showMessageDialog(null, bye);
    }
}


Semoga Bermanfaat.

No comments:

Post a Comment