grafik user interface

                 GUI (Grafik User Interface)


Pengertian Dari GUI 
    *GUI ( Graphical User Interface), adalah merupakan salah satu model interaksi antara
dan komputer.

   *GUI berfungsi untuk memudahkan pengguna dalam menggunakan suatu aplikasi komputer,
selain itu juga untuk memperindah tampilan suatu aplikasi.

  *GUI adalah tipe antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan
sistem operasi melalui gambar-gambar grafik, ikon, menu, dan menggunakan perangkat
penunjuk ( pointing device) seperti mouse atau track ball. 

  *Elemen-elemen utama dari GUI bisa diringkas dalam konsep WIMP ( window, icon, menu,
pointing device).


Contoh sistem GUI :
  1. Apple Macintosh
  2. Microsoft Windows pada IBM PC
  3. Open Look pada workstation Unix 
  4. KDE, GNOME pada Linux 
 *Pengorganisasian Software GUI
WINDOWS LIBRARIES

WINDOWS
MANAGER

APPLICATION
PROGRAMS

API
TOOLKIT



Windows Libraries  
Terdiri dari set-set operasi standar yang dapat digunakan oleh software tingkat yang lebih tinggi untuk berinteraksi dengan GUI (Intrinsic Function)
  1. Terdapat objek-objek grafis yang disebut widgets  .

 Application Program Interface (API) Toolkit 
  1.  Windows libraries tidak digunakan secara langsung, namun disediakan toolkit yang memungkinkan pengkonstruksian GUI dari se-set widget standar. 
  2. Toolkit ini menyediakan Application Program Interface, yaitu fungsi-fungsi untuk mengkonstruksi widget atau memanipulasi komponen GUI yang lain.
  3. Programnya dikatakan call toolkit function.
     


Widget GUI 
 Diciptakan, dioperasikan dan dihapus (dikeluarkan) oleh software aplikasi melalui toolkit API.
Contoh widget GUI : 
a.    Box field 
b.    Table field 
c.    Button 
d.    Radio field 
e.    Toggle field 
f.     Bar field 
g.    Scroll bar 
h.    Slide bar

Desktop Metaphor 
  1. Metodologi ‘guiding paradigm’ untuk lebih memudahkan user memahami penggunaan GUI.
  2. Metaphor : analogi / kemiripan objek visual pada desktop grafis dengan objek sebenarnya .
Contoh : icon recycle bin dengan gambar tempat sampah, dengan melihat icon tersebut maka asosiasi kita adalah tempat untuk membuang dokumen / file. 

Paket Grafik 
GUI akan lebih bermanfaat ketika digunakan untuk aplikasi yang bersifat visual. Contoh : Graphic package software (software paket grafik).

2 jenis paket grafik :
   *Painting package (Contoh : MS Paint, MacPaint)
  1. Ditujukan untuk memenuhi kebutuhan seniman dan perancang grafik dalam pembuatan desain visual kreatif.
  2. Menghasilkan tampilan bit-mapped yang berkualitas baik dalam hitam putih maupun berwarna.
   *Drawing package (Contoh : Corel Draw, MS Visio):
  1. Cenderung mempunyai orientasi teknis dengan pengontrolan yang ketat atas skala dan dimensi.
  2. Cenderung merupakan tampilan yang tersimpan sebagai scalable object.
Kelebiahan GUI :
  •  Design Menarik dan UserFriendly
  •  Tidak Membosankan
  •  Tidak perlu mengigat baris atau perintah 
Kekurangan GUI :
  •  Performa lebih berat
  •  harga lisensi terlalu mahal
  •  kebutuhan spesifikasi hardware lebih besar 
*contoh program menggunakan GUI
Di sini saya membuat program menentukan luas persegi panjang, dan hasil outputnya adalah :

Untuk source code nya:

import javax.swing.*;
import java.awt.event.*;

public class jframe extends JFrame{
public jframe(){
initComponents();
}
private void initComponents(){
setTitle("LUAS PERSEGI PANJANG");
setSize(550, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);

panel = new JPanel();

namaLabel = new JLabel("Nama");
nimLabel = new JLabel("Nim");
aLabel = new JLabel("Menghitung Luas Persegi Panjang:");
panjangLabel = new JLabel("Panjang");
lebarLabel = new JLabel("Lebar");
luasLabel = new JLabel("Luas ");

namaTextField= new JTextField();
nimTextField= new JTextField();
aTextField= new JTextField();
panjangTextField = new JTextField();
lebarTextField = new JTextField();
luasTextField = new JTextField();

hitungButton = new JButton("Hitung");
tutupButton = new JButton("Tutup");

panel.setLayout(null);
getContentPane().add(panel);

panel.add(namaLabel);
panel.add(nimLabel);
panel.add(aLabel);
panel.add(panjangLabel);
panel.add(lebarLabel);
panel.add(luasLabel);

panel.add(namaTextField);
panel.add(nimTextField);
panel.add(panjangTextField);
panel.add(lebarTextField);
panel.add(luasTextField);

panel.add(hitungButton);
panel.add(tutupButton);

namaLabel.setBounds(30,30,90,25);
nimLabel.setBounds(30,60,90,25);
aLabel.setBounds(30,90,900,25);
panjangLabel.setBounds(30,120,90,25);
lebarLabel.setBounds(30,150,90,25);
luasLabel.setBounds(30,180,90,25);
namaTextField.setBounds(100,30,400,25);
nimTextField.setBounds(100,60,400,25);
panjangTextField.setBounds(100,120,400,25);
lebarTextField.setBounds(100,150,400,25);
luasTextField.setBounds(100,180,400,25);

hitungButton.setBounds(200,230,90,30);
tutupButton.setBounds(350,230,90,30);

luasTextField.setEditable(false);

hitungButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
hitungButtonActionPerformed(evt);
}
});
tutupButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
tutupButtonActionPerformed(evt);
}
});
}
private void hitungButtonActionPerformed(ActionEvent evt){
double panjang=0, lebar=0, luas;

try{
panjang=Double.parseDouble(panjangTextField.getText());
}catch (NumberFormatException ex){
JOptionPane.showMessageDialog(this, "Yang anda masukan salah !!");
}
try{
lebar= Double.parseDouble(lebarTextField.getText());
} catch (NumberFormatException ex){
JOptionPane.showMessageDialog(this, "Yang anda masukan salah !!");
}
luas = (panjang) * (lebar);
luasTextField.setText(Double.toString(luas));
}
private void tutupButtonActionPerformed(ActionEvent evt){
System.exit(0);
}
public static void main(String[] args){
new jframe().setVisible(true);
}
private JPanel panel;
private JLabel namaLabel;
private JLabel nimLabel;
private JLabel aLabel;
private JLabel panjangLabel;
private JLabel lebarLabel;
private JLabel luasLabel;
private JTextField namaTextField;
private JTextField nimTextField;
private JTextField aTextField;
private JTextField panjangTextField;
private JTextField lebarTextField;
private JTextField luasTextField;
private JButton hitungButton;
private JButton tutupButton;
}

Komentar

Postingan populer dari blog ini

garfis 2d dan 3d

mvc (model view controller)