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
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
makasih ya fen hehehe
ReplyDeletesama-sama ya yod :|
Delete