Minggu, 18 Desember 2011

Praktek VIII

MANAJEMEN LAYOUT

Manajemen Pemasangan komponen (manajemen layout) diperlukan untuk mengatur penempatan  komponen di dalam frame agar bisa menghasilkan bentuk interface yang menarik.Penggunaan layout manajer dalam menggunakan letak komponen juga akan memudahkan kita menempelkan komponen pada frame.Java menyediakan sejumlah metode layout dalam mengatur penempelan komponen ke dalam frame.Kita boleh mengkombinasikan beberapa metode agar pemasangan komponen menjadi lebih baik dan mudah.Method setLayot() digunakan untuk mengatur jenis metode yang digunakan pada saat pemasangan komponen.
1.      Metode FlowLayout
                  Metode FlowLayout menempatkan komponen di frame berdasarkan urutan komponen-komponen tersebut ditempelkan ke frame.Penyusunan dimulai dari kiri ke kanan dan dari atas ke bawah.Dengan demikian urutan pemasukan komponen menjadi penting.Secara default seluruh komponen yang ditambahkan dengan metode FlowLayout akan ditampilkan dengan rata tengah, namun metode FlowLayout memiliki konstanta LEFT,CENTER, dan RIGHT untuk mengatur perataan komponen yang diinginkan.
  1. Metode GridLayout
                  Metode GridLayout akan membagi area layar menjadi sejumlah tempat dalam bentuk matriks ukuran yang sama.Area layar dibagi dalam format baris dan kolom.Akibatnya setiap komponen akan memiliki ukuran yang sama, tidak peduli bagaimana ukuran sebenarnya.Setiap kali terjadi perubahan ukuran frame, ukuran setiap komponen juga akan berubah.Pada prinsipnya yang dipertahankan adalah jumlah baris dan kolom yang telah ditentukan.
  1. Metode BorderLayout
                  Metode BorderLayout menggunakan konsep arah mata angin dalam memasang komponen.Class BorderLayout menyediakan lima konstanta yang menyatakan arah mata angin NORTH, EAST, SOUTH, WEST dan CENTER.
                  Jika salah satu tidak digunakan, maka lokasi yang berdekatan akan menggunakan lokasi tersebut sebagai perluasan dari wilayahnya.Metode ini tidak memperhatikan urutan pemasukan komponen.
  1. Metode NoneLayout
                  Metode NoneLayout tidak cukup fleksibel digunakan.Oleh karena itu harus mengatur lokasi tiap objek titik demi titik.Tiap objeknya ditentukan oleh kordinat didalam window.Jika dilihat dari hal kerapian dan kebebasan mengatur tampilan sendiri, layout ini menempati  peringkat teratas dari semua  alternatif layout.
 
 Contohnya :
 
import java.awt.*;
import javax.swing.*;

class layout extends JFrame {

... JButton Btna,Btnb, Btnc, Btnd, Btne,Btnf, Btng, Btnh, Btni, Btnj, Btnk, Btnl ;
JLabel lNama,lNama2,lNama3;
JPanel P1,P2,P3;

public layout() {
setTitle("MULTI LAYOUT");
JLabel lNama= new JLabel("Flow Layout" );
JButton Btna=new JButton ("0");
JButton Btnb=new JButton ("1");
JButton Btnc=new JButton ("2");
JButton Btnd=new JButton ("3");

JLabel lNama2= new JLabel("None Layout" );
JButton Btne=new JButton ("4");
JButton Btnf=new JButton ("5");
JButton Btng=new JButton ("6");
JButton Btnh=new JButton ("7");

JLabel lNama3= new JLabel("Grid Layout" );
JButton Btni=new JButton ("8");
JButton Btnj=new JButton ("9");
JButton Btnk=new JButton ("10");
JButton Btnl=new JButton ("11");

P1 = new JPanel();
P2 = new JPanel();
P3 = new JPanel();

setLayout(null);
add(lNama);
add(lNama2);
add(lNama3);
add(P1);
add(P2);
add(P3);

lNama.setBounds(15,10,100,20);
lNama2.setBounds(220,10,100,20);
lNama3.setBounds(320,10,100,20);
P1.setBounds(5,30,200,40);
P2.setBounds(215,30,200,100);
P3.setBounds(320,30,200,150);

P1.setLayout(new FlowLayout());
P1.add(Btna);
P1.add(Btnb);
P1.add(Btnc);
P1.add(Btnd);

P2.setLayout(null);
P2.add(Btne);
P2.add(Btnf);
P2.add(Btng);
P2.add(Btnh);

Btne.setBounds(5,10,70,20);
Btnf.setBounds(5,30,70,20);
Btng.setBounds(5,50,70,20);
Btnh.setBounds(5,70,70,20);

P3.setLayout(new GridLayout(2,1));
P3.add(Btni);
P3.add(Btnj);
P3.add(Btnk);
P3.add(Btnl);
P3.setSize(100,100);

setSize(500,200);
setDefaultCloseOperation(3);

}
}
public class aku {
public static void main(String[] args) {
layout l = new layout();
}
}
 
Hasilnya :
 
                 




Praktek VII

JAVA GUI

Pengertian JAVA GUI
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.

JAVA menyediakan dua kelas untuk GUI, yaitu AWT (Abstract Windowing Toolkit) dan Swing .

1.  AWT (Abstract Windowing Toolkit) 
Abstract Windowing Toolkit (AWT), atau disebut juga “Another Windowing Toolkit”, adalah pustaka windowing bertujuan umum dan multiplatform serta menyediakan sejumlah kelas untuk membuat GUI di Java. Dengan AWT, dapat membuat window, menggambar, manipulasi gambar, dan komponen seperti Button, Scrollbar, Checkbox, TextField, dan menu pull-down. Penggunaan komponen AWT ditandai dengan adanya instruksi : import java.awt.*;

2.  SWING

Swing merupakan perbaikan kelemahan di AWT. Banyak kelas swing menyediakan komponen alternatif terhadap AWT. Contohnya kelas JButton swing menyediakan fungsionalitas lebih banyak dibanding kelas Button. Selain itu komponen swing umumnya diawali dengan huruf “J”, misalnya JButton, JTextField, JFrame, JLabel, JTextArea, JPanel, dan sebagainya. Teknologi swing menggunakan dan memperluas gagasan-gagasan AWT. Sementara, penggunaan komponen Swing ditandai dengan adanya instruksi : import javax.swing.*;

Beberapa perbedaan AWT dan Swing, AWT merupakan komponen heavyweight (kelas berat) sedangkan Swing lightweight (kelas ringan). Swing memiliki lebih banyak komponen. Fasilitas Swing Look and Feel : Metal, Windows, Motif. Komponen Swing berdasar model-view, yaitu suatu cara pengembangan komponen dengan pemisahan penyimpanan dan penanganan data dari representasi visual data.



Berikut Merupakan Contoh Program GUI
import javax.swing.*;
class GUI extends JFrame {
JButton BTNOK, BTNCancel;
JLabel lNim = new JLabel ("Nim                     : ");
final JTextField fNim = new JTextField(10);
JLabel lNama = new JLabel ("Nama                : ");
final JTextField fNama = new JTextField(10);

public GUI() {
setTitle(“Coba – Coba”);
BTNOK = new JButton ("OK");
BTNOK.setMnemonic('O');
BTNCancel = new JButton ("Cancel");
BTNCancel.setMnemonic('C');

setLayout(null);
add(lNim);
add(fNim);
add(lNama);
add(fNama);
add(BTNOK);
add(BTNCancel);

lNim.setBounds(10,10,120,20);
fNim.setBounds(130,10,150,20);
lNama.setBounds(10,40,160,20);
fNama.setBounds(130,40,150,20);
BTNOK.setBounds(10,80,100,20);
BTNCancel.setBounds(120,80,90,20);

setSize(350,200);
setVisible(true);
}
}
class ObjekGUI1 {
public static void main(String []args) {
GUI G = new GUI();
}
}

Hasilnya :
Keterangan kode program : 
1.   import javax.swing.* : Baris program ini digunakan untuk mengimport semua yang ada pada package javax.swing, agar kita dapat mengunakan semua class yang terdapat pada package tersebut.
2.class GUI extends JFrame : class dengan nama GUI merupakan kelas yang mewarisi class JFrame.

3. JButton BTNOk, BTNCancel, JLabel lNim , JLabel lNim  : Pendeklarasian nama objek yang akan digunakan.
 4. Final JTeksField fNim, Final JTeksField fNama : membuat objek text box, dengan nama JTeksField fNim, dan  JTeksField fNama .
 add(lNim) : Memasukan lNim kedalam frame
add(fNim) : Memasukan fNim kedalam frame
add(lNama) : Memasukan lNama kedalam frame
add(fNama) : Memasukan fNama kedalam frame
add(BTNOk) : Memasukan BTNOk kedalam frame
add(BTNCancel) : Memasukan BTNCancel kedalam frame


lNim.setBounds(10,10,120,20);
fNim.setBounds(130,10,150,20);
lNama.setBounds(10,40,160,20);
fNama.setBounds(130,40,150,20);
BTNOK.setBounds(10,80,100,20);
BTNCancel.setBounds(120,80,90,20);
 ket: membuat pengaturan ukuran objek yang akan dibuat


GUI G = new GUI() : Baris program ini merupakan instansiasi objek G dari kelas GUI yang terletak dalam baris progam utama dan pada saat dirun maka yang akan dijalankan adalah konstruktor dari class GUI.