Jumat, 20 Januari 2012

PERTEMUAN 7



Pengertian GUI
1.         JAVA GUI
Graphical User Interface atau yang lebih kita kenal dengan singkatan GUI merupakan sebuah metode, model atau cara dari User atau manusia sebagai pengguna computer untuk berinteraksi dengan computer secara grafis. yang dimaksud secara grafis disini merupakan tampilan dari system operasi yang selama ini kita pakai seperti Microsoft Windows, MacOS dan Xwin menggunakan jenis GUI yang berbeda. Dengan adanya GUI ini kita dipermudah dalam mengoperasikan computer.
GUI pertama kali dikembangkan oleh Xerox Palo Alto Research Center (PARC) di tahun 70-an. Penelitian ini membuka era baru dalam inovasi komputer grafis dan komputer pribadi (personal computer) pertama yang menggunakan antarmuka pengguna grafis modern adalah Xerox Alto, yang dikembangkan pada tahun 1973. Hingga saat ini GUI mengalami perubahan dan inovasi yang sangat signifikan.
JAVA merupakan sebuah bahasa pemrograman tingkat tinggi yang berorientasi object (object oriented programming). Selain itu Java juga merupakan sebuah platform. Jika anda pernah memprogram dengan bahasa pemrograman OOP , seperti C++ atau Smalltalk , mungkin anda ingat betapa menyenangkannya memprogram dengan konteks objek. Java pertama lahir dari The Green Project awal tahun 1991. setelah perjalanan panjangnya java kemudian mengeluarkan Versi awalnya ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
  • java.lang: Peruntukan kelas elemen-elemen dasar.
  • java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.
Itulah tadi sebuah gambaran awal tentang JAVA dan GUI pusing bukan J
Nah apa itu JAVA GUI ?
Jika dilihat dari pengertiannya masing-masing JAVA GUI dapat kita artikan sebagai teknik pemrograman java yang memanfaatkan grafis sebagai antar mukanya Seperti menggunakan layar/windows, adanya tombol, textbox, dan komponen grafis lainnya yang mempermudah user dalam mengoperasikan aplikasi yang kita buat.
Komponen Utama GUI java adalah JFC (Java Fundamental Class)
1. Koordinat GUI
Sistem Koordinat posisi window dan peletakan komponennya
mengikuti sistem koordinat kartesian 2 dimensi x-aksis dan y-aksis.
Penempatan dan dimensi dari komponen mengikuti aturan dasar
(x,y,lebar,tinggi)
2. AWT (Abstract Windows Toolkit)
merupakan paket dasar dalam pembentukan GUI dengan menggunakan platform yang terdapat dalam masing-masing OS (native resource)
Paket dasar : java.awt.component
Adapun struktur dasar window AWT
1. Frame atau Jwindow, sebagai komponen dasar window
2. Header, tempat judul dan standar exit-close
3. Menubar, tempat list menu
4. Kontainer object ContentPane, berfungsi sebagai kanvas tempat
komponen-komponen diletakkan
3. Swing
Product SUN dalam membangun GUI yang Independent sehingga bersifat cross platform dalam tampilan window yang dihasilkan.
Paket dasar: javax.swing.Jcomponent
4. Event Handler
Aksi-reaksi yang diberikan pada tiap-tiap komponen GUI
Jika pada aplikasi berbasis command prompt kita memanfaatkan masukan dari keyboard untuk melakukan suatu aksi atau perintah, maka pada aplikasi berbasis GUI juga dibutuhkan sumber inputan ataupun kondisi yang melekat pada masing-masing komponen didalam frame yang disebut dengan event.
Event kebanyakan dihasilkan oleh piranti utama input yaitu mouse dan keyboard, event model ini dinamakan low-level event. Dan ada pula event yang terjadi dikarenakan suatu proses pada komputasi yang biasanya berupa pesan atapun peringatan dikarenakan kondisi pada memori, prosesor ataupun yang lainnya yang disebut dengan semantic event.
Proses event:
1. Lingkungan aplikasi
2. Komponen Sumber event
3. Kejadian (event)
4. Penyampaian Kejadian (Listener)
5. Implementasi atau reaksi setelah diterimanya kejadian
Teknis pembuatan GUI adalah sbb :
TAHAP MENDEFINISKAN OBJEK :
Definisikan objek dari komponen yang akan ditaruh dalam frame pada saat frame dibuat (pada conctsructor frame yang kita definisikan)
Letakkan objek dalam frame
TAHAP MENDEFINISIKAN AKSI :
Tahap ini didefinisikan tergantung dari jenis komponennya
Pada komponen tombol aksi didefinisikan dengan cara mengimplementasi interface ActionListener
Pada komponen lain seperti Choice dll ada cara tersendiri

Komponen utama GUI : Button, Label, TextField dan TextArea
Komponen Button :
l  Constructor
            Button() : mendefinisikan tombol tanpa label
            Button(String lbl) : mendefinisikan tombol dengan label lbl
l  Method :
            setLabel(String lbl) : untuk mengganti label dari tombol
            getLabel() : untuk mendapatkan label dari suatu tombol





Tombol ini belum dapat beraksi


Aksi Tombol 1
(jika tombol diklik pindah)







Aksi Tombol 2
(jika tombol diklik label-nya berubah)




Komponen Label
Komponen Label :
l  Constructor
            Label (String lbl) : mendefinisikan Label dengan label lbl
l  Method :
            setText(String lbl) : untuk mengganti label dari Label
            getText() : untuk mendapatkan label dari suatu Label
Contoh : akan dibuat program mengendallikan efek tombol untuk membesarkan dan mengecilkan tulisan pada Label
     merubah ukuran label (besar, kecil) diatur dengan efek klik tombol
         Mula-mula        klik besarka      klik kecilkan


Programnya…




Pengenalan GUI dengan Eclipse SWT
SWT adalah GUI berbagai platform yang dikembangkan oleh IBM. Kenapa IBM membuat sistem GUI lain dan tidak menggunakan rangka kerja GUI yang sudah ada pada Java? Untuk menjawab pertanyaan ini, kita perlu melihat kilas balik tentang Java di awal perkembangannya.
Sun telah membuat rangka kerja GUI yang dinamakan AWT (Abstract Windowing Toolkit). Rangka kerja AWT menggunakan widget (komponen pada GUI, seperti tombol, menu, teks, dll) alami yang merupakan bawaan dari setiap sistem operasi. Akan tetapi widget tersebut memiliki masalah pada LCD. Masalah LCD ini mengakibatkan hilangnya beberapa fitur pada sistem operasi lain. Atau dengan kata lain, jika platform A memiliki widget 1 - 40 dan platform B memiliki widget 20 - 25, maka rangka kerja AWT hanya bisa digunakan untuk sebagian widget yang beririsan saja.
Untuk memecahkan masalah ini, Sun membuat rangka kerja baru yang merupakan emulasi widget, bukan menggunakan widget bawaan platform. Hal ini memecahkan masalah LCD dan memberikan rangka kerja yang kaya widget, akan tetapi masalah lain muncul. Misalnya, aplikasi Swing tidak lagi mirip seperti aplikasi lain pada platform di mana ia dijalankan.
Dengan adanya perbaikan pada JVM, aplikasi Swing tetap saja mengalami masalah kinerja karena sifatnya yang berupa emulasi. Hal ini tidak ditemukan pada widget bawaan platform karena widget ini lebih dekat dengan sistem operasi. Lebih jauh, aplikasi Swing menghabiskan lebih banyak memori yang tidak bisa digunakan untuk piranti kecil seperti PDA dan telepon genggam.
IBM memutuskan bahwa pendekatan tersebut tidak memenuhi kebutuhannya. Akhirnya, IBM membuat pustaka GUI baru yang disebut SWT, yang memecahkan masalah yang terdapat pada rangka kerja AWT dan Swing. Rangka kerja SWT langsung mengakses widget bawaan sistem operasi melalui JNI. Jika widget tersebut tidak tersedia, maka SWT akan mengemulasi widget yang hilang itu.
Blok Penyusun Suatu Aplikasi SWT
Display, Shell dan kumpulan Widget adalah blok penyusun aplikasi SWT. Display bertugas untuk mengatur perulangan event (dari keyboard atau mouse) dan mengatur komunikasi antara thread UI dan thread lainnya. Shell adalah jendela di mana aplikasi berjalan. Setiap aplikasi SWT memiliki paling tidak satu Display dan satu atau lebih instansi Shell.

Gambar di atas mengilustrasikan aplikasi SWT dari sudut pandang yang berbeda. Diagram pertama di sebelah kiri adalah diagram kelas-kelas turunan dari objek-objek UI. Diagram tengah adalah bagaimana objek UI diletakkan, dan gambar kanan adalah UI yang dihasilkan.
Jika suatu aplikasi menggunakan beberapa thread, setiap thread akan memiliki instansi objek Display masing-masing. Kita bisa mengambil instansi suatu objek Display dengan menggunakan metode statik Display.getCurrent().
Suatu Shell melambangkan jendela suatu aplikasi. Shell bisa ditampilkan dalam ukuran seluruh layar, ukuran biasa, atau dikecilkan hingga tak terlihat. Ada dua jenis shell yang tersedia. Yang pertama adalah shell dengan tingkat paling tinggi, yaitu yang dibuat langsung sebagai anak dari jendela utama Display. Jenis kedua adalah shell dialog yang bergantung pada shell-shell lainnya.
Jenis suatu Shell bergantung pada bit gaya (style bit) yang diberikan pada konstruktornya. Nilai awalnya adalah DialogShell. Artinya, jika tidak ada parameter yang diberikan pada konstruktornya, maka shell yang dibuat akan bertipe DialogShell. Jika parameter konstruktornya berupa objek bertipe Display, maka ia akan menjadi shell tingkat atas.
Beberapa sifat widget harus ditentukan pada saat widget tersebut dibuat. Sifat widget tersebut disebut bit gaya (style bit). Bit gaya ini adalah konstanta yang didefinisikan dalam kelas SWT. Misalnya,
Button tombol = new Button(shell, bitGaya)
Kita bisa menggunakan lebih dari satu gaya dengan menggunakan operator OR atau |. Misalnya, kita ingin membuat tombol yang bisa ditekan dan memiliki garis tepi, kita bisa menggunakan SWT.PUSH | SWT.BORDER sebagai parameter bit gayanya.




LANGKAH-LANGKAH PRAKTIKUM

LANGKAH-LANGKAH PRAKTIKUM
A.      MEMBUAT PROGRAM cthAWT1.java
import java.awt.*;
   public class cthAWT1 {
       public static void main (String[] args) {
                                Frame myFrame = new Frame ("Contoh Program AWT");
                                Label myLabel = new Label ("Selamat belajar JAVA");
                                myFrame.add(myLabel);
                                myFrame.setSize(200,150);
                                myFrame.show();


   }
 }
Hasil Ekswkusi:


B.      MEMBUAT PROGRAM cthAWT2.java
import java.awt.*;
   class frameTurunan extends Frame  {
       Label myLabel = new Label ("Selamat Belajar Java!");
       public frameTurunan (String judul)  {
                                setTitle (judul);
                                setSize (200,200);
                                add(myLabel);
                                show();
   }

 }


 public class cthAWT2  {
                public static void main (String [] args) {
                                frameTurunan  f  =  new frameTurunan("Ini  Frame Turunan");
 }
}
HASIL EKSEKUSI



C.      MEMBUAT PROGRAM cthSwing1.java
import javax.swing.*;
public class cthSwing1  {
    public static void main (String []  args)  {
    JFrame myFrame = new JFrame ("Contoh program swing");
    JLabel myLabel = new JLabel ("Selamat Belajar JAVA");
    myFrame.add(myLabel);
    myFrame.setSize(200,150);
    myFrame.setVisible(true);
 myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

HASIL EKSEKUSI


D.      MEMBUAT PROGRAM cthSwing2.java

import javax.swing.*;
class frameTurunan extends JFrame  {
                JLabel myLabel = new JLabel ("Selamat Belajar JAVA!");
                public frameTurunan (String judul)  {
                                setTitle (judul);
                                setSize(200,200);
                                add (myLabel);
                                setVisible(true);

  }
}


public class cthSwing2 {
    public static void main (String[]  args)  {
                frameTurunan   f  =  new  frameTurunan("Ini  Frame Turunan");
  }
}

HASIL EKSEKUSI
LATIHAN
Hasil Eksekusi



Tidak ada komentar:

Posting Komentar