GUI (Graphical User Interface),
adalah antarmuka pada sistem operasi atau komputer yang menggunakan
menu grafis agar mempermudah para pengguna-nya untuk berinteraksi dengan
komputer atau sistem operasi.
Kelebihan dan Kekurangan GUI
Kelebihan GUI :1. Desain Grafis lebih menarik.
2. GUI memungkinkan user untuk berinteraksi dengan komputer secara lebih baik.
3. Memudahkan pengguna.
4. Menarik minat pengguna.
5. Resolusi gambar yang tinggi.
Kekurangan GUI :
1. Memakan memory yang sangat besar.
2. Bergantung pada perangkat keras.
3. Membutuhkan banyak tempat pada layar komputer.
4. Tidak fleksibel.
Berikut ini saya membuat aplikasi menggunakan bahasa JAVA dengan GUI.
Aplikasi berikut dapat digunakan untuk menghitung IPK pada beberapa semester, dimana diketahui indeks matakuliah dan SKSnya.
Silahkan gunakan aplikasi ini untuk membantu anda menghitung IPK anda, aplikasi ini opensiurce, anda boleh menyebarluaskan dengan menyertakan/menyebutkan sumbernya.
main.java
/*
// di bawah adalah nama package nya
// package tugas;
/**
*
* @author Soerganda
*/
public class main { //class main utama, letak pertama kali program di jalankan
public static void main(String[] args) {
// TODO code application logic here
new Form().setVisible(true); // ketika class ini di jalankan, akan memunculkan JForm bernama Form
}
}
<strong>Form.java</strong>
/*
// di bawah ini adalah nama package nya
//package tugas;
//pemanggilan library untuk GUI
import javax.swing.JOptionPane;
/**
*
* @author Soerganda
*/
public class Form extends javax.swing.JFrame { //class dimana terdapat perintah2 GUI nya
public int x; // pendeklarasian variable x bertie integer yang bersifat public (dapat di akases dari semua class)
public double ind; //pendeklarasia variable ind bertipe double yang bersifat public.
String hitungIndex(String i){ //pendeklarasan variable i bertipe data string
switch (i){ //pendeklarasian awal seleksi switch
case “A”: ind = 4.0; break; //jika dipiliih A maka variable ind akan diisi value 4.0 bertipe float, seterusnya kebawah hingga case nya E
case “B”: ind = 3.0; break;
case “C”: ind = 2.0; break;
case “D”: ind = 1.0; break;
case “E”: ind = 0; break;
default : JOptionPane.showMessageDialog(rootPane, “Salah Input Coy ! “); // default pilihan, jika yang diinput tidak terdapat di dalam case A-E maka pilihan ini akan di eksekusi
}
return i; //pengembalian nilai i
}
public Form() { // di method ini berisi pendeklarasian pembuatan bentuk2 form, tombol dan bagaimana windownya nanti bekerja.
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
jButton1.setText(“Hitung”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText(“Close”);
jLabel1.setText(“Selamat Dateng !”);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(88, 88, 88)
.addComponent(jButton1)
.addGap(65, 65, 65)
.addComponent(jButton2))
.addGroup(layout.createSequentialGroup()
.addGap(98, 98, 98)
.addComponent(jLabel1)))
.addContainerGap(125, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(52, 52, 52)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 127, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addGap(84, 84, 84))
);
pack();
}// </editor-fold>
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.setTitle(“How your IPK this Matkul ?”); //membuat judul form
this.setSize(350, 360); //mengatur ukuran form
this.setLocationRelativeTo(null);
this.setVisible(true);
// semua textfield dikunci saat form dubuka/dipanggil dari main.java
int Matkul=Integer.parseInt(JOptionPane.showInputDialog(null,”Berapa jumlah matkulnya”,”Jumlah Matkul”));
double ipk = 0;
int countSks=0;
double countIndex=0;
for (x=1; x<=Matkul; x++){
String index=JOptionPane.showInputDialog(null,”Berapa index anda pada MATKUL ke-”+ x +”?”,”A / B / C / D”);
hitungIndex(index);
int sks=Integer.parseInt(JOptionPane.showInputDialog(null,”Berapa SKS anda pada MATKUL ke-”+ x +”?”,”3″));
countSks=sks+countSks;
double indSks = ind * sks;
countIndex = countIndex + indSks;
ipk = countIndex / countSks;
}
JOptionPane.showMessageDialog(rootPane, “Jumlah Index = ” + countIndex + “\nJumlah SKS = ” + countSks + “\nIPK Anda adalah = ” + ipk);
jLabel1.setText(“Hitung Lagi ?”);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new Form().setVisible(false);
new Form().setVisible(true);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Form.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Form().setVisible(true);
}
});
}
// Variables declaration – do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
// End of variables declaration
}
Screen Shot
Tidak ada komentar:
Posting Komentar