// Source Code Main
package
guipassingobject;
public
class GUIPassingObject {
public static void main(String[] args) {
KoordinatFrame obj1 = new
KoordinatFrame();
obj1.setVisible(true);
}
}
//Source Code Form
package
guipassingobject;
import
javax.swing.JOptionPane;
public
class KoordinatFrame extends javax.swing.JFrame {
public KoordinatFrame() {
initComponents();
setResizable(false);
setLocationRelativeTo(null);
}
private
void prosesTitikTengah(){
float absis1, absis2,ordinat1,ordinat2;
Koordinat titik1 = new Koordinat();
Koordinat titik2 = new Koordinat();
Koordinat titik3 = new Koordinat();
Koordinat titik4 = new Koordinat();
Koordinat tengah = new Koordinat();
try{
absis1=Float.parseFloat(Field_absis.getText());
ordinat1=Float.parseFloat(Field_ordinat.getText());
absis2=Float.parseFloat(Field_absis2.getText());
ordinat2=Float.parseFloat(Field_ordinat2.getText());
titik1.setKoordinat(absis1,
ordinat1);
titik2.setKoordinat(absis2,
ordinat2);
tengah.titikTengah(titik1, titik2);
titik3=titik2.titikTengah2(titik1);
//fungsi
titik1.cerminX(titik1);
titik4=titik2.cerminY();//fungsi
Field_titik.setText("("+String.valueOf(absis1)+" ;
"+String.valueOf(ordinat1)+")");
Field_titik2.setText("("+String.valueOf(absis2)+" ;
"+String.valueOf(ordinat2)+")");
Field_titiktengah.setText("("+String.valueOf(tengah.getAbsis())+"
; "+String.valueOf(tengah.getOrdinat())+")");
Field_titikCermin_x.setText("("+String.valueOf(titik1.getAbsis())+"
; "+String.valueOf(titik1.getOrdinat())+")");
Field_titikcermin_y.setText("("+String.valueOf(titik4.getAbsis())+"
; "+String.valueOf(titik4.getOrdinat())+")");
Field_titiktengahvoid.setText("("+String.valueOf(tengah.getAbsis())+"
; "+String.valueOf(tengah.getOrdinat())+")");
}
catch(Throwable t){
JOptionPane.showMessageDialog(null,
"Nilai bukan numerik, silahkan diperbaiki untuk bisa diproses");
}
}
private void ulang(){
Field_absis.setText("");
Field_ordinat.setText("");
Field_titik.setText("");
Field_absis2.setText("");
Field_ordinat2.setText("");
Field_titik2.setText("");
Field_titiktengah.setText("");
Field_absis.requestFocus();
}
private void Button_prosesActionPerformed(java.awt.event.ActionEvent
evt) {
prosesTitikTengah();
}
private void
Button_ulangActionPerformed(java.awt.event.ActionEvent evt) {
ulang();
}
private void
Button_selesaiActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void
Field_ordinatKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode()==0x0A){
Field_absis2.requestFocus();
}
}
private void
Field_ordinat2KeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode()==0x0A){
Button_proses.requestFocus();
}
}
// Source Code Class
package
guipassingobject;
public
class Koordinat {
private float absis;
private float ordinat;
public Koordinat() {
absis = 0;
ordinat = 0;
}
public Koordinat(float absis, float
ordinat) {
this.absis = absis;
this.ordinat = ordinat;
}
public void setKoordinat(float pAbsis,
float pOrdinat) {
absis = pAbsis;
ordinat = pOrdinat;
}
public void setAbsis(float pAbsis) {
this.absis = pAbsis;
}
public void setOrdinat(float pOrdinat) {
this.ordinat = pOrdinat;
}
public float getAbsis() {
return absis;
}
public float getOrdinat() {
return ordinat;
}
public void titikTengah(Koordinat P1, Koordinat
P2) {
absis = (P1.absis + P2.absis) / 2;
ordinat = (P1.ordinat + P2.ordinat) /
2;
}
public void cerminX(Koordinat P1) {
absis = P1.absis;
ordinat = -1 * (P1.ordinat);
}
public void cerminY(Koordinat P2) {
absis = P2.ordinat;
ordinat = -1 * (P2.absis);
}
//Fungsi
public Koordinat titikTengah2(Koordinat P)
{
Koordinat pHasil = new Koordinat();
pHasil.absis = (P.absis + absis) / 2;
pHasil.ordinat = (P.ordinat + ordinat)
/ 2;
return pHasil;
}
public Koordinat cerminX() {
Koordinat pHasilFungsiX = new
Koordinat();
pHasilFungsiX.absis = absis;
pHasilFungsiX.ordinat = -1 * ordinat;
return pHasilFungsiX;
}
public Koordinat cerminY() {
Koordinat pHasilFungsiY = new
Koordinat();
pHasilFungsiY.absis = absis;
pHasilFungsiY.ordinat = -1 * ordinat;
return pHasilFungsiY;
}
}
Desain
Form:
Image 1.1: screenshot desain form
Program
Error
Image 1.2: Output Program
Output
Program:
Image 1.3: screenshot program error