Friday, October 24, 2014

Persamaan Kuadrat Menggunakan Rumus ABC Dengan Input Melalui Dialog Box



Persamaan kuadrat menggunakan rumus ABC dengan menggunakan input dialog box


Berikut adalah listing untuk Persamaan kuadrat menggunakan rumus ABC dengan menggunakan input dialog box :

import javax.swing.*;
 
public class SquareEquationToy {
                private double a;
                private double b;
                private double c;
                private double x1;
                private double x2;
               
                private boolean fValid = false;
               
                public SquareEquationToy(){                    
                                String input = JOptionPane.showInputDialog("masukan nilai a");
                                double a = Double.parseDouble(input);
                                System.out.println("nilai a = " + a);
                                String Input = JOptionPane.showInputDialog("masukan nilai b");
                                double b = Double.parseDouble(Input);
                                System.out.println("nilai b = " + b);
                                String iNput = JOptionPane.showInputDialog("masukan nilai c");
                                double c = Double.parseDouble(iNput);
                                System.out.println("nilai c = " + c);
                                this.a = a;
                                this.b = b;
                                this.c = c;
                                calcX();
                }
               
                private double calcDiscriminant(){
                                return b*b - 4*a*c;
                }
               
                private void calcX(){
                                double d = calcDiscriminant();
                                if (d > 0) {
                                                x1 = (-b + Math.sqrt(d))/(2*a);
                                                x2 = (-b - Math.sqrt(d))/(2*a);
                                                fValid = true;
                                }
                }
               
                public boolean isValid(){
                                return fValid;
                }
               
                public double getA(){
                                return a;
                }
               
                public double getB(){
                                return b;
                }
               
                public double getC(){
                                return c;
                }
               
                public double getX1(){
                                return x1;
                }
               
                public double getX2(){
                                return x2;
                }
               
                static void test(){
                                SquareEquationToy s = new SquareEquationToy ();
                                if (s.isValid()){
                                                System.out.println("Persamaan "+s.getA()+"X^2 "+s.getB()+"X "+s.getC() + " mempunyai akar "+s.getX1()+"dan"+s.getX2());
                                                }
                                                else {
                                                System.out.println("Persamaan "+s.getA()+"X^2 "+s.getB()+"X "+s.getC() + " Tidak mempunyai akar-akar riil");
                                                }
                                }
                               
                               
                public static void main (String[]args){
                               
                                test();
                                System.exit(0);

                }
}

Output yang keluar adalah seperti berikut :
Output pertama saat melakukan penginputan untuk nilai a

Output kedua saat melakukan penginputan untuk nilai b

Output yang ketiga untuk menginput nilai c



Output hasil akhir untuk menentukan persamaan kuadrat




Penjelasan mengenai listing program :
Untuk menampilkan penginputan pada java harus diawali dengan import javax.swing.*; dan juga dengan memasukan perintah JOptionPane.showInputDialog();  hanya saja jika kita hanya menuliskan ini maka yang bisa kita input berupa string bukan numerik sehingga kita harus menambahkan Double.parseDouble(); agar bisa merubah string ke double sehingga inputan yang dimasukan bisa berupa numerik.
Pada string input di listing ini saya membuat 3 bentuk berbeda yaitu String input , String Input dan String iNput. Ini dilakukan karena jika di tuliskan String input maka yang akan di cetak setelah penginputan adalah nilai inputan yang pertama kali di input sehingga pada inputan ke-2 dan ke-3 nilai akan sama dengan nilai ke-1. Ketika program memanggil JOptionPane.showInputDialog(); kita perlu mengakhiri program dengan memanggil System.exit(0); karena saat memanggil dialog box berarti sistem memulai satu tread kendali baru. Ketika metode tread main() berakhir tread baru tidak berakhir secara otomatis. Untuk mengakhiri semua tread kita perlu memanggil metode System.exit(0); .
Lalu jika listing this.a = a;  sampai c tidak di tulis maka program tidak ada kesalahan hanya saja pada nilai akhir persamaan inputan yang sudah dimasukan tidak akan memiliki nilai atau samadengan nol, seperti gambar dibawah ini



Silahkan dicoba dan semoga bermanfaat

2 comments: