Monday, June 11, 2012

Graphical User Interface (GUI)


GUI atau kepajangan dari Graphical User Interface merupakan salah satu model interaksi antara manusia dan komputer.
 Selain GUI, ada juga model yang lain seperti Character User Interface (CUI) yang sering kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua model ini memiliki fungsinya masing-masing. Fungsi CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Pengguna GUI biasanya adalah mereka yang sudah terbiasa dengan sistem operasi Windows.

Frame merupakan komponen dasar dalam membuat aplikasi berbasis GUI, dimana fungsi dari Frame itu sendiri sebagai media tampung untuk komponen GUI lainnya, seperti : Button, Table, Label, ComboBox, dan lain-lain.
Frame yang akan dibuat ini menggunakan Java Class dengan nama JFrame, dimana Class ini sudah tersedia dalam Package javax.swing.
Pada umumnya terdapat editor atau lebih tepatnya RAD tools yang bisa dipergunakan untuk membuat program visual dengan Java, seperti Netbeans ataupun Eclipse dengan plugin tambahan. Tetapi dalam tulisan kali ini saya akan membahas konsep utama pemrograman visual dengan Java Swing dengan menuliskan langsung program berikut komponen-komponen yang dipergunakan.

Untuk membuat program visual dengan Java Swing, packages yang perlu di import pada program adalah javax.swing dan java.awt yang berisikan class dan komponen yang dibutuhkan untuk membuat GUI serta java.awt.event  yang berisikan interface dan class yang menangani event.
Java mempunyai fasilitas layout manager (manajemen tampilan) dalam mengelola form / kontainer.
Kontainer adalah objek yang memiliki jendela seperti form, panel, scoll pane dan lain-lain.
Setiap kontainer memiliki sebuah layout manager.

JLabel juga berasal dari package Swing, yang berguna untuk membuat label atau keterangan serta menjelaskan komponen GUI, atau dengan kata lain menambahkan komentar pada suatu frame di GUI.


Jlabel merupakan salah satu komponen yang paling banyak digunakan dalam membuat program java terutama yang berbasis GUI. JLabel dapat menampilkan Teks atau Image pada GUI sebagai informasi pada user, sebagai contoh, sebagai sebuah label didepan JTextField, JComboBox, dll. Kita bisa menambahkan Teks (termasuk tag HTML), image, atau Keduanya dalam sebuah JLabel. JLabel mempunya background yang transparan, jadi kita tidak perlu khawatir dengan tampilan Jlabel ini, karena akan selalu cocok dengan latar belakang GUI dari Applikasi yang kita buat


Pada umumnya terdapat editor atau lebih tepatnya RAD tools yang bisa dipergunakan untuk membuat program visual dengan Java, seperti Netbeans ataupun Eclipse dengan plugin tambahan. Tetapi dalam tulisan kali ini saya akan membahas konsep utama pemrograman visual dengan Java Swing dengan menuliskan langsung program berikut komponen-komponen yang dipergunakan.

Untuk membuat program visual dengan Java Swing, packages yang perlu di import pada program adalah javax.swing dan java.awt yang berisikan class dan komponen yang dibutuhkan untuk membuat GUI serta java.awt.event  yang berisikan interface dan class yang menangani event.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

Selanjutnya adalah deklarasi class yang menjadi turunan (extends) dari JFrame. Minimal kerangka class adalah seperti dibawah ini cukup bagi kita untuk membuat sebuah class turunan dari JFrame.
class MyFrame extends JFrame {

  public MyFrame(){

  }

}

Akan tetapi untuk memudahkan penelusuran pada saat debugging, sebaiknya dibuat beberapa method untuk mengorganisir program, sehingga kerangka class menjadi seperti dibawah ini.
class MyFrame extends JFrame {

  public MyFrame(){

    initComponent();
    initEvent();
  }

  private void initComponent(){

  }

  private void initEvent(){

  }
}

Dari kerangka class diatas, selanjutnya kita deklarasikan komponen-komponen yang dibutuhkan program. Oya, kali ini kita coba membuat sebuah program sederhana untuk menjumlahkan dua bilangan, dengan hasil program seperti berikut :
Dari output seperti diatas, paling tidak kita menggunakan delapan objek, yaitu tiga objek JLabel, tiga objek JTextField dan dua objek JButton yang semuanya kita deklarasikan sebagai private member dari class.
class MyFrame extends JFrame {
 
  private JButton btnTutup  = new JButton("Tutup");
  private JButton btnTambah = new JButton("Tambah");

  private JTextField txtA = new JTextField();
  private JTextField txtB = new JTextField();
  private JTextField txtC = new JTextField();

  private JLabel lblA = new JLabel("A :");
  private JLabel lblB = new JLabel("B :");
  private JLabel lblC = new JLabel("C :");

  public MyFrame(){

    initComponent();
    initEvent();
  }

  private void initComponent(){

  }

  private void initEvent(){

  }
}

Selanjutnya, kedelapan objek tersebut kita tentukan lokasinya pada frame. Perlu diketahui pada Java terdapat beberapa Layout Manager, dan pada kali ini kita akan menggunakan Absolute Positioning sehingga untuk menentukan lokasi objek menggunakan method setBounds. Penentuan lokasi setiap objek akan dimasukan kedalam method initComponent.


  ...
  ...

  private void initComponent(){

    btnTutup.setBounds(300,130, 80,25);
    btnTambah.setBounds(300,100, 80,25);

    txtA.setBounds(100,10,100,20);
    txtB.setBounds(100,35,100,20);
    txtC.setBounds(100,65,100,20);

    lblA.setBounds(20,10,100,20);
    lblB.setBounds(20,35,100,20);
    lblC.setBounds(20,65,100,20);


    add(btnTutup);
    add(btnTambah);

    add(lblA);
    add(lblB);
    add(lblC);

    add(txtA);
    add(txtB);
    add(txtC);
  }

  ...
  ...

Method setBounds yang kita pergunakan memiliki empat argumen integer yang mewakili x (left), y (top)width dan height dari objek. Selanjutnya, kedelapan objek tersebut kita tambahkan kedalam frame dengan menggunakan method add.

Dalam pemrograman visual, salah satu hal yang perlu dipahami adalah konsep "Event Driven" yaitu dimana proses dilakukan berdasarkan kejadian. Konsep ini berlaku baik itu dalam pemrograman menggunakan Visual Basic, Delphi maupun Java. Pada pemrograman Java, setiap event pada objek harus diregisterkan melalui method addActionListener. Sedangkan untuk frame register event dilakukan dengan method addWindowListener.


  ...
  ...

  private void initEvent(){

    this.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e){
       System.exit(1);
      }
    });

    btnTutup.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        btnTutupClick(e);
      }
    });

    btnTambah.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        btnTambahClick(e);
      }
    });
  }

  ...
  ...

Meskipun proses dapat langsung ditulis pada setiap actionPerformed, akan tetapi lebih baik dibuat masing-masing method tersendiri agar memudahkan dalam men-debug program apabila terjadi kesalahan. Pada contoh sederhana ini terdapat dua event yang akan dipergunakan, yaitu pada saat button Tambah dan Tutup di-clik. Oleh karena itu, akan dibuat method untuk masing-masing event.Setiap method yang dibuat untuk mewakili event, paling tidak ditambahkan argumen ActionEvent.


  ...
  ...

  private void btnTutupClick(ActionEvent evt){
    System.exit(0);
  }
 
  private void btnTambahClick(ActionEvent evt){
    Integer x,y,z;
    try{
      x = Integer.parseInt(txtA.getText());
      y = Integer.parseInt(txtB.getText());
      z = x + y;
      txtC.setText(z.toString());

    }catch(Exception e){
      System.out.println(e);
      JOptionPane.showMessageDialog(null,
          e.toString(),
          "Error",
          JOptionPane.ERROR_MESSAGE);
    }
  }

  ...
  ...

Oke.. Sampai dilangkah ini kita sudah menyusun sebuah class yang merupakan turunan dari JFrame. Selanjutnya perlu dibuat sebuah class yang menjalankan frame tersebut, karena class tersebut sengaja tidak menggunakan method main.


class frm {

  public static void main(String[] args){
    MyFrame f = new MyFrame();
    f.setVisible(true);
  }
}

Akhirnya, untuk pemrograman visual dengan Java tidak harus menggunakan RAD tools yang memiliki fasilitas GUI Designer. Karena yang terpenting adalah memahami konsep utamanya seperti sudah dibahas pada awal tulisan ini.

Pemahaman GUI
GUI atau kepajangan dari Graphical User I nterface merupakan salah satu model interaksi antara manusia dan komputer. Selain GUI, ada juga model yang lain seperti Character User Interface (CUI) yang sering kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua model ini memiliki fungsinya masing-masing. Fungsi CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Pengguna GUI biasanya adalah mereka yang sudah terbiasa dengan sistem operasi Windows.

JAVA GUI
JAVA GUI sendiri secara umum sama dengan pemahaman GUI sendiri, namun disini GUI pada JAVA adalah salah satu dari fasilitas Java dalam mengembangkan suatu aplikasi dengan memberikan suatu interface yang nantinya akan disesuaikan dengan kebutuhan suatu aplikasi, baik skala kecil dan besar. Intinya, GUI pada Java adalah komponen-komponen penyempurna dalam sebuah sistem, seperti komponen navigasi, graphic, interface desktop, komponen menu, sinkronisasi antar interface dan semuanya itu dirancang dengan penelitian yang baik, dimana nantinya aplikasi tersebut dapat dengan mudah dioperasikan user. Banyak sudah aplikasi yang telah Java kembangankan dengan menggunakan GUI sebagai nilai penggunaan dan nilai jual. Software perangkat lunak dan keras juga termasuk di dalamnya. Java GUI adalah program pengembangan suatu user interface dengan mengetengahkan graphic sebagai penghubung user dengan sistem, sehingga mudah dalam implementasi aplikasi sistem tersebut.


Pengertian GUI

Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.


Kesimpulan JAVA GUI (Graphical User Interface) 

Selang hanya beberapa tahun, Java kini sudah mendukung dan dikerahkan di berbagai perangkat. Ada yang digunakan untuk mainframe, midrange server, PC, dan perangkat genggam. Bahkan ada sebuah kelompok yang sedang mengerjakan real-time embedded Java untuk aplikasi pengendalian.

Selain dari embedded environment sebagian besar pengembang Java membuat beberapa jenis user interface untuk aplikasi mereka. Untuk hal-hal seperti alat konfigurasi mereka buat sebuah antarmuka berupa baris perintah (command-line) dan sudah cukup bagus digunakan. Namun java juga mendukung aplikasi ke berbagai pengguna atau untuk aplikasi yang diperlukan untuk menampilkan data kepada antarmuka pengguna berbentuk grafis yang terbaik.

Java GUI mendukung pembangunan melalui Abstract Windowing Toolkit, atau AWT. AWT adalah Java yang setara dengan Microsoft Windows Common Control Library atau Motif widget toolkit. Ini termasuk pendukung untuk pemrograman grafik sederhana serta sejumlah komponen seperti tombol, menu, daftar, dan kelas check box.
Layout Manager pada Java
Java mempunyai fasilitas layout manager (manajemen tampilan) dalam mengelola form / kontainer.
Kontainer adalah objek yang memiliki jendela seperti form, panel, scoll pane dan lain-lain.
Setiap kontainer memiliki sebuah layout manager. Java menyediakan layout manager yang spesifik , dan dapat memilih sesuai kebutuhan antara lain :
- BorderLayout - Flow Layout - GridLayout - CardLayout - GridBagLayout - BoxLayout

  1. BorderLayout
Fitur ini menyusun komponen-komponen dari sebuah kontainer dalam wilayah yang dinamai North (Utama), South (Selatan), East(Timur), West (Barat), After (setelah), Last(terakhir), Center (tengah), First (pertama), Before (sebelum)
  1. FlowLayout
Menyusun komponen-kokmponen objek dalam bentuk baris dari kiri ke kanan kemudian dari atas ke bawah menggunakan ukuran asli setiap komponen
  1.  
justify">GridLayout
Menempatkan komponen-komponen ke dalam grid / kotak-kotak sel dalam baris dan kolom
GridLayout memperbesar setiap komponen sebesar ruangan / sel yang disediakan.
  CardLayout
Menempatkan komponen-komponen (biasanya panel) yang 1 diatas dan yang lainnya bertumpukan,satu dengan yang lainnya.
Kita hanya bisa melihat 1 dalam satu waktu, dan untuk melihat yang lain menggunakan kontrol untuk memilih objek mana yang ada diatas.
  GridBagLayout
Menempatkan komponen-komponen secara horizontal dan vertical secara dinamis dan tidak harus mempunyai ukuran yang sama.
  BoxLayout
Memungkinkan susunan banyak komponen yang bisa disusun secara vertikal / horizontal. Walaupun disusun secara vertikal dengan banyak komponen, susunan tidak akan berubah walau ada perubahan frame.




Flow Layout Manager Pada Java
Dibawah ini adalah cara menggunakan Flow Layout Manager . Layout manager digunakan pada organisasi dari Panel dan Frame. Layout yang cocok seharusnya telah di pilih untuk mengakomodasi dan resizing frame dan penggunaannya.
Manager ini mirip dengan layout null, tetapi layout flow mengatur item untuk Anda, dengan jarak horizontal dan vertikal yang spesfik, semua ditentukan dengan 3 konstruktor yang diperbolehkan dalam layout ini:
Java GUI(Graphical User Interface)
Posted Oktober 8, 2009 by debagdebug in Pemrograman Java. Ditandai:graphicalguiinterfacejavapemrogramanuser. 1 Komentar
Pengertian GUI
Antar muka komputer yang berbasiskan grafis. Adalah citra grafis yang ditampilkan di layar komputer yang memungkinkan untuk mengakses aplikasi software dengan memakai menu dropdown, dialog box, radio button, check box, panel, tabs, toolbar, icon shortcuts dan tool lain. Atau bisa juga dikatakan jenis antarmuka pengguna yang memungkinkan orang untuk berinteraksi dengan program dengan lebih banyak dengan gambar daripada perintah teks. Sebuah GUI grafis menawarkan ikon, dan visual indikator, sebagai lawan dari antarmuka berbasis teks. Contoh perangkat yang menggunakan GUI:  perangkat genggam seperti MP3 Players, Portable Media Player dan perangkat Permainan. GUI ini dimulai pertama kali dengan X Windows hasil penelitian di MIT, kemudian Macintosh, Sun View, lalu disusul oleh Microsoft Windows, dan sistem operasi lainnya.
JAVA
Java merupakan suatu teknologi perangkat lunak yang di dalamnya mencakup bahasa pemrograman. Selain itu Java juga merupakan suatu platform yang memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan suatu program. Java sendiri pada awalnya dikembangkan pada lingkungan komputer oleh Sun Microsystem Inc. dengan tujuan untuk menghasilkan suatu bahasa komputer sederhana tanpa harus terikat pada arsitektur tertentu. Maka tak heran jika dalam perkembangannya Java dapat dijalankan pada berbagai platform sistem operasi seperti Linux, Windows maupun Unix.
Karena keunikan dan kehandalannya, Java pun semakin banyak dikenal. Pada tahun 1995 Sun meluncurkan sebuah browser berbasis Java dengan julukan Hot Java, kemudian diikuti Netscape yang memutuskan untuk membuat browser dengan dilengkapi bahasa Java di dalamnya. Setelahnya ikut bergabung pula berbagai pengembang ternama diantaranya IBM dan Microsoft. Kemudian pada tahun berikutnya, Sun Microsystem Inc. merilis Java Software Development Kit (JDK) pertamanya, JDK 1.1. Dan terus berkembang dari pemrograman applet yang berjalan di browser menjadi pemrograman kelas dunia yang banyak digunakan untuk pengembangan aneka ragam aplikasi. Tidak hanya pada komputer, Java juga dapat berjalan pada bermacam-macam perangkat, mulai telepon genggam sampai aplikasi berskala enterprise pada komputer server.
JAVA GUI
Dapat disimpulkan bahwa Java GUI adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan komponen-komponen yang tidak bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya  adalah untuk memudahkan user menggunakan program yang dibuat tersebut.

1 comment:

  1. thanks gan infonya

    kunjungi hargaalatantrianc2000.blogdetik.com pusatmesinantrianc2000.blogspot.co.id
    pusat alat antrian otomatis +software dan alat survey kepuasan pelanggan
    kami menjual alat antrian:

    -alat antri sederhana
    -alat antri berbasis android
    -survey kepuasaan layanan
    -kiosk
    -dan juga berbagai macam type tentunya

    hubungi www.alatantrian.com
    denny@cendana2000.com 082130345677

    ReplyDelete