Rabu, 11 April 2012

Program Java Operasi Bilangan Kompleks

Kali ini saya membuat sebuah program Java untuk melakukan operasi bilangan kompleks, tetapi baru jumlah, kurang, dan bagi.\
Buat Class utama untuk constructor dan method yang digunakan dengan nama Kompleks.java
Berikut Listing Programnya :

/**
 *
 * @author Jonathan
 */
public class Kompleks {
private double real;
private double imajiner;


public Kompleks (){
    setreal(0);
    setimajiner(0);
}

public void setreal(double r){
    real=r;
}

public void setimajiner(double i){
    imajiner=i;
}


public double getreal(){
    return real;
}

public double getimajiner(){
    return imajiner;
}

public String HasilKom(){
    return getreal()+"+"+getimajiner()+"i";
}

public void penjumlahan(Kompleks Kom1, Kompleks Kom2){
    setreal(Kom1.getreal()+ Kom2.getreal());
    setimajiner(Kom1.getimajiner()+ Kom2.getimajiner());

}

public void pengurangan(Kompleks Kom1, Kompleks Kom2){
    setreal(Kom1.getreal()- Kom2.getreal());
    setimajiner(Kom1.getimajiner()- Kom2.getimajiner());

}

public void perkalian(Kompleks Kom1, Kompleks Kom2){
    setreal((Kom1.getreal()*Kom2.getreal())- (Kom1.getimajiner()*Kom1.getreal()));
    setimajiner((Kom1.getimajiner()*Kom2.getreal())+ (Kom1.getreal()*Kom2.getimajiner()));

}

}

Lalu Buat class untuk Menginput dan mencetak output dengan nama KompleksTest.java
Berikut listing Programnya :
import javax.swing.JOptionPane;

/**
 *
 * @author Jonathan
 */
public class KompleksTest {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Kompleks bilangan1 = new Kompleks();
        Kompleks bilangan2 = new Kompleks();
        Kompleks hasil = new Kompleks();

        Double real1= Double.parseDouble(JOptionPane.showInputDialog("Masukan Bilangan Real 1 : "));
        Double imaj1= Double.parseDouble(JOptionPane.showInputDialog("Masukan Bilangan Imajiner 1 : "));
        Double real2= Double.parseDouble(JOptionPane.showInputDialog("Masukan Bilangan Real 2 : "));
        Double imaj2= Double.parseDouble(JOptionPane.showInputDialog("Masukan Bilangan Imajiner 2 : "));
        int op=Integer.parseInt(JOptionPane.showInputDialog("Masukan Pilihan Operasi : \n"+"1. +\n"+"2. -\n"+"3. *\n"+"4. /\n"));
        bilangan1.setreal(real1);
        bilangan1.setimajiner(imaj1);
        bilangan2.setreal(real2);
        bilangan2.setimajiner(imaj2);

    switch(op){
            case 1:
            hasil.penjumlahan(bilangan1, bilangan2);
            JOptionPane.showMessageDialog(null, "Operasi yang akan dilakukan "+"("+real1+"+"+imaj1+"i"+" "+")"+"+"+" "+"("+real2+"+"+imaj2+"i"+" "+")");
            JOptionPane.showMessageDialog(null,"Hasil Operasi yang dilakukan :"+hasil.HasilKom());
            break;
            case 2:
            hasil.pengurangan(bilangan1, bilangan2);
            JOptionPane.showMessageDialog(null, "Operasi yang akan dilakukan "+"("+real1+"+"+imaj1+"i"+" "+")"+"-"+" "+"("+real2+"+"+imaj2+"i"+" "+")");
            JOptionPane.showMessageDialog(null,"Hasil Operasi yang dilakukan :"+hasil.HasilKom());
            break;
            case 3:
            hasil.perkalian(bilangan1,bilangan2);
            JOptionPane.showMessageDialog(null, "Operasi yang akan dilakukan "+"("+real1+"+"+imaj1+"i"+" "+")"+"+"+" "+"("+real2+"*"+imaj2+"i"+" "+")");
            JOptionPane.showMessageDialog(null,"Hasil Operasi yang dilakukan :"+hasil.HasilKom());
            break;
            case 4:
            //hasil.pembagian(bilangan1, bilangan2);
            //JOptionPane.showMessageDialog(null, "Operasi yang akan dilakukan "+"("+real1+"+"+imaj1+"i"+" "+")"+"/"+" "+"("+real2+"*"+imaj2+"i"+" "+")");
            //JOptionPane.showMessageDialog(null,"Hasil Operasi yang dilakukan :"+hasil.HasilKom());
            JOptionPane.showMessageDialog(null,"Belum tahu konsepnya cuy ^_^");
            break;
        default:
             JOptionPane.showMessageDialog(null,"Pilihan Tidak Ada");
    }


    }

}

Jika butuh penjelasan silahkan komentar saja.