Sabtu, 10 Maret 2012

GUI --> SWING

MENGAPA MEMAKAI SWING? 

Java swing running di ruang lingkup desktop. Jika selama ini kita membuat aplikasi java masih berorientasi console (layar DOS, hitam putih) maka dengan library swing ini kita bisa membuat aplikasi dengan antarmuka yang jauh lebih menarik bagi pengguna. Kita bisa menambahkan form, text field, tombol, combo box, mengubah warna dan sebagainya.
Mengembangkan aplikasi swing dilakukan dengan dua tahap, yaitu mendesain layout tampilannya dan menuliskan source code programnya. Di dalam Netbeans bisa kita mulai dengan membuat project baru dengan tipe “desktop application”. Ikuti petunjuknya dan kita akan otomatis disiapkan 3 buah file .java sekaligus, yaitu file about, file view dan file programnya.
Menambahkan komponen ke panel utama (main panel) dilakukan dengan drag n drop komponen dari jendela “palette”. Sedangkan untuk mengubah atribut masing-masing komponen dilakukan dengan mengakses jendela properties di sebelah kanan.


Struktur Komponen Swing

Secara arsitektur, Swing dibangun diatas arsitektur AWT (AbstractWindows Toolkit). AWT adalah GUI toolkit yang dikembangkan oleh Sun engineer sebelum swing muncul. Kelemahan utama AWT adalah fleksibilitas tampilan GUI, seperti painting method yang masih sangat primitif. Swing dimaksudkan untuk memperbaiki kekurangan dari AWT tanpa harus membuang teknologi yang sudah dibuat dan membuatGUI toolkit baru dari nol.Komponen AWT diletakkan dalam satu package yaitu java.awt,didalamnya terdapat komponen-komponen GUI dasar, salah satunya adalah Component. Class Component adalah moyang dari sebagian besar komponen AWT maupun Swing. CheckBox, Label, Button dan beberapa komponen AWT lainnya adalah turunan langsung dari class Component. Namun dalam kenyataanya arsitektur demikian tidak memberikan fleksibilitas yang cukup memadai untuk membuat berbagai macam komponen baru yang dibutuhkan dalam desktop application.
Swing muncul dengan membawa teknologi AWT yang telah ditambahkan dengan banyak kemampuan. Nyaris semua komponen GUI dari swing merupakan turunan class Container dan class Container adalah turunan dari class Component.

BERIKUT ADALAH CONTOH PROGRAM MENGGUNAKAN SWING SEDERHANA :

1. pilih file -> new file maka akan muncul kotak dialog berikut :
pilih pilihan swing GUI Forms -> lalu pilih JFrame Form klik next

tampilan akan Seperti terlihat di dialog New JFrame dialog dibawah ini




beri nama penjumlahan kemudian finish


Buat tampilan form seperti gambar bawah ini, caranya dengan
klik Jendela Pallete di sebalah kanan untuk memilih komponen
apa yang akan dibuat, kemudian klik di jendela Design untuk
menempatkan komponen yang sudah dipilih tadi ke dalam
form. Hasilnya terlihat seperti pada gambar di bawah ini:




Ganti nama setiap komponen agar mudah dikenali. Klik kanan
diatas setiap komponen yang ada dalam Jendela Design diatas,
kemudian pilih menu :
Klik kanan > Change Variable Name ...
Ganti nama komponen-komponen tersebut (sesuai urutan dari
kiri ke kanan, atas ke bawah) menjadi : lblKeterangan, txtA,
lblPlus, txtB, btnHitung, lblHasil.


Menambahkan variable untuk menampung nilai yang akan
dijumlahkan. Klik tombol Source untuk membuka jendela yang
menampilkan kode sumber dari program di atas kemudian
tambahkan kode di bawah ini tepat dibawah definisi dari class
Penjumlahan:
private String str = "Hasilnya adalah : ";
private int a, b;





Menangani penekanan tombol btnHitung. Klik kanan diatas
komponen btnHitung kemudian pilih menu :
Events > Action > actionPerformed
Anda akan dibawa ke jendela Source, ubah
kode program seperti di bawah ini :

private void btnHitungActionPerformed(
java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
a = Integer.parseInt(txtA.getText());
b = Integer.parseInt(txtB.getText());
int hasil = a + b;
lblHasil.setText(str + hasil);
}




Compile dan jalankan program. Tekan tombol SHIFT + F6, atau
klik kanan file Penjumlahan.java kemudian pilih menu Run File.
Tampilan output program :




Catatan :
● Method Integer.parseInt digunakan untuk merubah String
menjadi Integer.
● Method btnHitungActionPerformed akan dipanggil setiap kali
kita memencet tombol btnHitung.

Kamis, 08 Maret 2012

Contoh Penerapan Event Handling 2

kali ini saya tetap memakai package yang telah saya buat sebelumnya
yakni package EventHandling

langsung saja beri class baru yang bernama ClickMe.java
1.ketikkan code berikut ini pada class tersebut :

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

public class ClickMe extends JFrame1 implements ActionListener {
    private JButton tombol;
     
        public ClickMe() { 
            Container container = getContentPane();
            container.setLayout(new FlowLayout());    
     
            tombol = new JButton ("Click Me!");
            tombol.addActionListener(this);
            container.add(tombol);    
     
            setSize (200,100);
            setVisible (true);
        }
     
        public static void main (String arg[]) {
            ClickMe test = new ClickMe();
            test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
     
        public void actionPerformed (ActionEvent e) {
            if (e.getSource() == tombol) {
                JOptionPane.showMessageDialog(null, "You click me, guys !!!");
            }
        }
}




2. Buat JFrame dengan cara
Pilih File -> New File -> pilih SWING GUI FORMS -> klik JFrame Form



3.Beri nama JFrame 1



4.running program dan shift + F6 atau klik kanan pada project pilih Run File
Pada tampilan running kita akan dapat meng-klik tombol "Click Me!" dan jika
di klik maka akan muncul Message "You click me, guys !!!"




 

Rabu, 07 Maret 2012

Konsep dasar Enkripsi

Apa itu enkripsi?
Pengertian Enkripsi adalah proses encoding (pengkodean/penyandian) sebuah pesan, dan proses tersebut bisa mengambil berbagai macam bentuk. Microsoft memiliki definisi yang bagus mengenai enkripsi ini:
Enkripsi adalah nama yang diberikan untuk proses penerapan algoritma pada sebuah pesan, yang mana proses tersebut akan mengacak data di dalamnya sehingga sangat sulit dan memakan waktu apabila data hasil enkripsi tersebut disimpulkan tanpa mengetahui kode/sandi khusus. Ditambah, algoritma tersebut biasanya melibatkan data rahasia tambahan yang disebut kunci, yang mencegah pesan untuk disimpulkan bahkan jika algoritma tersebut sudah umum dan dikenal oleh publik.

Mengapa  melakukan enkripsi?
Sekarang, dan dapat dipastikan kedepannya akan makin bertambah, Anda memiliki nomor kartu kredit, nomor rekening, dan lain-lain yang bersifat sensitif. Yang mengatakan bahwa informasi tersebut harus ada di suatu tempat jika tidak anda tidak akan pernah bisa menggunakannya. Anda dapat menghafal angka, tetapi Anda tidak dapat mengandalkan memori Anda sebagai satu-satunya sumber untuk menyimpan angka dalam jumlah banyak.
Dengan menuliskan angka-angka tersebut menimbulkan resiko mereka bisa dibaca oleh orang lain. Dengan menggunakan enkripsi adalah cara yang efektif. Dengan cara itu Anda dapat menuliskan data tersebut setelah mengalami pengkodean dan tidak perlu khawatir apabila orang lain membacanya.



 CONTOH PROGRAM ENKRIPSI SEDERHANA



1.Buat Project di Netbeans beri nama enkripsi.Pada project enkripsi,
Pilih File -> New File -> pilih SWING GUI FORMS -> klik JFrame Form


2.Berinama FormEnkripsi1 -> lalu klik finish


3.Maka akan muncul tampilan form sebagai berikut :


4.Tambahkan JTextField dan Jbutton dengan cara klik drag pada  komponen palette


5.Ganti nama setiap komponen agar mudah dikenali. Klik kanan
diatas setiap komponen yang ada dalam Jendela Design diatas,
kemudian pilih menu :
Klik kanan > Change Variable Name ...



6.Kosongkan text pada JTextField dengan cara Klik kanan > Edit Text

7.Tambahkan satu lagi JTextField dan kosongkan text beri nama variabel : HasilEnkripsi

8.Menangani penekanan tombol ButtonEnkripsi. Klik kanan diatas
komponen ButtonEnkripsi kemudian pilih menu :
Events > Action > actionPerformed
Ketikkan coding berikut :

  private void ButtonEnkripsiActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        String randomKey = "";
                double randomNumber;
                for (int i=0; i<TeksEnkripsi.getText().length(); i++) {
                    randomNumber = Math.random() * 25 + 65;
                    randomKey = randomKey + (char)randomNumber;
                }
         
                HasilEnkripsi.setText(randomKey);                                       

    }


9.Run file tersebut :


Pada program tersebut saya hanya menggunakan key random untuk mengubah huruf menjadi acak. Selamat mencoba :D

Selasa, 06 Maret 2012

Contoh Penerapan Event Handling 1

1.Buat project baru, simpan pada folder event_handling



2.Beri nama project EventHandling





3.Buat class baru di dalam package eventhandling beri nama painter



4.Tambahkan JFrame dengan cara
Pilih File -> New File -> pilih SWING GUI FORMS -> klik JFrame Form



5.beri nama class JFrame



6.Maka akan muncul tampilan form seberti di bawah ini :



7.Ketikkan code berikut pada class Painter :
package eventhandling;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Painter extends JFrame {
   
        private int pointCount = 0;
            private Point points[] = new Point[1000];
         
            public Painter () {
                getContentPane().add(new JLabel("Drag mouse to draw"), BorderLayout.SOUTH);
         
                addMouseMotionListener (
                    new MouseMotionAdapter() {
                        public void mouseDragged (MouseEvent e) {
                            if (pointCount < points.length) {
                                points[pointCount] = e.getPoint();
                                ++pointCount;
                                repaint();
                            }
                        }
                    } //end of anonymous class
                ); //end method addMotionListener
         
                setSize (300,150);
                setLocationRelativeTo(null);
                setVisible(true);
            }
         
            public void paint (Graphics g) {
                super.paint(g);
                for (int i = 0; i < points.length && points[i] != null; i++) {
                    g.setColor(Color.red);
                    g.fillOval (points[i].x, points[i].y, 4,4);
                }
            }
         
            public static void main (String args[]) {
                Painter test = new Painter();
                test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            }

   
}




8.Running program dengan menekan shift + F6 atau klik kanan pada project pilih Run File
Pada tampilan running anda dapat menggambar ataupun pada form seperti dibawah ini :



GUI --> AWT (ABSTRACT WINDOWS TOOLKITS)

PENGERTIAN
paket AWT sebuah paket yang telah ada dalam Java yang dapat digunakan untuk merancang GUI (Graphical User Interface). Program-program modern sekarang ini biasanya dibuat dalam bentuk form, dialog box, dan menu.Dengan GUI, user dapat melakukan pilihan secara cepat dan mudah dengan menggunakan mouse.Abstract Window Toolkit disebut toolkit karena didalamnya tersedia class-class yang telah dirancang untuk membuat GUI. Paket AWT termasuk paket jadi untuk setiap versi Java.

CONTOH PROGRAM :

Contoh Window Sederhana
Untuk dapat menggunakan AWT diperlukan paket awt sebagai berikut:
 import java.awt.*;
import java.awt.event.*;

BERIKUT ADALAH CONTOH PROGRAM MENGGUNAKAN AWT
 1. Dalam pembuatan program, kali ini memakai NETBEANS IDE 7.0 langsung saja, yang pertama buat project java dengan cara klik new project


 
Beri nama project GUI




pilih lokasi untuk project




Bila kita ingin membuat sebuah frame maka class yang akan dibuat harus menurunkan sifat
dari class Frame.

Tambah class beri nama My Frame


 ketikkan coding di bawah ini :

 package gui;
import java.awt.*;
import java.awt.event.*;

 
 public class MyFrame extends Frame {
    public void paint(Graphics g)
{
g.drawString("Frame dengan AWT", 75, 100);
}
}


buat class baru beri nama TutupFrame
ketikkan coding di bawah ini :

 package gui;
import java.awt.*;
import java.awt.event.*;

 
public class TutupFrame extends WindowAdapter{
    public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}




Yang terakhir buat class baru dengan nama  FrameDemo
codingnya :
package gui;
import java.awt.*;
import java.awt.event.*;

public class FrameDemo {
public static final int WIDTH = 300;
public static final int HEIGHT = 200;
public static void main(String args[])
{
MyFrame mf = new MyFrame();
mf.setSize(WIDTH, HEIGHT);
TutupFrame tf = new TutupFrame();
mf.addWindowListener(tf);
mf.setVisible(true);
}
}


Run File pada class FrameDemo :



Penjelasan Program
Pada program FrameDemo diatas sebuah objek mf yang bertipe MyFrame. Melalui objek mf
itu metode setSize dieksekusi. Metode setSize merupakan method yang diturunkan (inherite)
dari class Frame yang berfungsi untuk menentukan ukuran dari frame yang ingin dibuat.
Dalam hal ini berukuran lebar 300 dan tinggi 200.Untuk menutup window anda dapat menekan tombol X pada sudut kanan atas frame. Ketika anda menekan tombol tersebut, frame mengerjakan event dan event mengirimkan aksi tersebut ke listener object. Dalam hal ini sebuah listener object dibuat dengan nama tf bertipe class TutupFrame yang menurunkan sifat dari class WindowAdapter