SELAMAT DATANG
DI WILAYAH TERITORIAL
KEKUASAAN SAYA
^_^

Kamis, 17 Januari 2013

event handling

Event Handling pada JAVA Event berguna untuk menangani interaksi user dengan program, misalnya user memilih sebuah menu dalam aplikasi MIDlet.Untuk menangani event perlu mengimplementasikan interface CommandListener dan atau ItemListener. CommandListener berfungsi untuk menangani jika user memilih Command tertentu sedangkan ItemListener berfungsi untuk menangani jika user mengubah nilai sepert misalnya mengubah pilihan pada ChoiceGroup. Delegation Event Model Delegasi event model menguraikan bagaimana program Anda dapat merespon interaksi dari user. Untuk memahami model, pertama-tama mari kita pelajari melalui tiga komponen utamanya. 1. Event Source Event source mengacu pada komponen GUI yang meng-generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombol. 2. Event Listener/Handler Event listener menerima berita dari event-event dan proses-proses interaksi user. Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah informasi yang berguna untuk user. 3. Event Object Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen GUI), sebuah object event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dari class ini. setiap event object mempunyai type event yang berbdea beda. sehingga kita harus menentukan type event sebelum menentukan jenis interface listener. karena setiap type event mempunyai jenis interface listener yang bersesuaian. berikut ini type type event yang ada di Java : -ActionEvent -ItemEvent -WindowEvent -ContainerEvent -ComponentEvent -FocusEvent -TextEvent -KeyEvent -MouseEvent -AdjustmentEvent Berikut ini Interface Listener : -ActionListener -ItemListener -WindowListener -ContainerListener -CompnnentListener -FocusListener -TextListener -KeyListener -MouseListener -MouseMotionListener -AdjustmentListener Berdasarkan tulisan diatas, setiap type event mempunyai satu jenis interface listener kecuali MouseEvent yang mempunyai dua jenis interface listener. dan setiap interface mempunyai method abstract yang harus di override class yang meng-impletasikan interface. event listener dan event handler terdapat pada package java.awt.event Bagaimana event handling dalam Java? ada tiga langkah penting dalam event handling Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code yang menyatakan class tersebut meng-implement interface listener Event source mendaftarkan sebuah listener melalui method addListener Kode yang mengimplementasikan method pada interface listener pada class yang akan meng-handle event. [ Override ] contoh program : import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ClickMe3 extends JFrame { private JButton tombol, btnExit; public ClickMe3() { super ("Event Handling"); Container container = getContentPane(); container.setLayout(new FlowLayout()); ClickListener cl = new ClickListener (); tombol = new JButton ("Click Me!"); tombol.addActionListener(cl); container.add(tombol); btnExit = new JButton ("Exit"); btnExit.addActionListener(cl); container.add(btnExit); setSize (200,100); setVisible (true); } public static void main (String arg[]) { ClickMe3 test = new ClickMe3(); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } //inner class private class ClickListener implements ActionListener { public void actionPerformed (ActionEvent e) { if (e.getSource() == tombol) { JOptionPane.showMessageDialog(null, "You click me again, guys !!!"); } else if (e.getSource() == btnExit){ if ( JOptionPane.showConfirmDialog(null, "Apakah Anda yakin akan keluar ?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } } }

Kamis, 10 Januari 2013

GUI

GUI atau Grapichal User Interface adalah suatu model antar-muka komputer yang menggunakan objek-objek grafis sebagai media interkasi dengan user. GUI (graphical user interface) merupakan suatu metodse untuk antar muka computer berbasis grafis.GUI digunakan dalam pembuatan program aplikasi dengan mempertimbangkan dua aspek yaitu keindahan tampiolan dan kemudahan penggunaan program. Keindahan tampilan akan mempengaruhi orang untuk melihat dan merasa senang dengan program yang kita buat, dan kemudahan menggunakan program akan berdampak pada ketertarikan orang untuk terus mengunakan program yang kita buat. Java memiliki dua kelas untuk bekerja dengan GUI, yaitu AWT (Abstract Windowing toolkit) dan SWT (Standard Widget Toolkit). 1. AWT terdapat dalam package java.awt. package ini berisi komponen-komponen GUI yang bersifat platform oriented atau tergantung pada suatu platformsistem operasi. AWT merupakan package yang di perkenalkan yang diperkenalkan untuk mengembangkan aplikasi berbasis GUI. 2. Selain package java.awt, java juga memiliki package javax.swing,untuk membuat komponen GUI.swing lebih portable daripada AWT kerena beberapa komponennya bersifat multi platform sehingga di sebut juga lightweight. SWT pada dasarnya adalah GUI-library yang terintegrasi di dalam Eclipse sebagai fondasi GUI. Swing terdapat pada package javax.swing dan bersifat lightweight, yaitu dapat diaplikasikan untuk semua platform (multiplatform). Beberapa fasilitas yang di sediakan package java.awt adalah : 1. pengaturan tata letak (layout management) komponen dalam suatu container. 2. mendukung event handling, yaitu mekanisme pendeteksian event dan penentuan respona yang akan di berikan ketika pengguna (user) mengakses komponen tersebut. 3. manipulasi grafis dari komponen,seperti font, warna,icon, dsb.

TUGAS MANAJEMEN LAYOUT

import java.awt.*; import javax.swing.*; class layout extends JFrame { JButton Button0,Button1, Button2, Button3, Button4,Button5, Button6, Button7, Button8, Button9, Button10, Button11 ; JLabel lNama,lNama2,lNama3; JPanel P1,P2,P3; public layout() { setTitle("Aryanti"); JLabel lNama= new JLabel("Flow Layout" ); JButton Button0=new JButton ("0"); JButton Button1=new JButton ("1"); JButton Button2=new JButton ("2"); JButton Button3=new JButton ("3"); JLabel lNama2= new JLabel("None Layout" ); JButton Button4=new JButton ("4"); JButton Button5=new JButton ("5"); JButton Button6=new JButton ("6"); JButton Button7=new JButton ("7"); JLabel lNama3= new JLabel("Grid Layout" ); JButton Button8=new JButton ("8"); JButton Button9=new JButton ("9"); JButton Button10=new JButton ("10"); JButton Button11=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(Button0); P1.add(Button1); P1.add(Button2); P1.add(Button3); P2.setLayout(null); P2.add(Button4); P2.add(Button5); P2.add(Button6); P2.add(Button7); Button4.setBounds(10,10,65,25); Button5.setBounds(10,35,65,25); Button6.setBounds(10,55,65,25); Button7.setBounds(10,75,65,25); P3.setLayout(new GridLayout(2,1)); P3.add(Button8); P3.add(Button9); P3.add(Button10); P3.add(Button11); P3.setSize(100,100); (500,200); setVisible(true); setDefaultCloseOperation(3); } } public class aryanti{ public static void main(String[] args) { layout l = new layout(); } }

Kamis, 13 Desember 2012

PACKAGE

PACKAGE Package adalah sebuah sarana untuk mengelompokkan atau mengorganisasikan kelas dan intervace yang sama atau sekelompok menjadi satu unit tunggal atau library. secara fisik, package dapat berupa folder yang berisi file file/kelas interface atau enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokkan. package mempengaruhi mekanisme hak akses ke kelas didalamnya. ada tiga hal dalam membuat package : 1. mendeklarasikan dan memberi nama package. 2. membuat struktur dan nama folder yang sesuai dengan struktur dan nama package. 3. mengkomplikasikan kelas-kelas sesuai dengan nama package masing-masing. syarat nama package : 1. diawali huruf kecil. 2. menggambarkan kelas kelas yang dibungkusnya. 3. harus unik. 4. merepresentasikan path dari package tersebut. 5. harus sama direktorinya. KELAS STRING Nilai suatu String adalah objek. Objek ini berisi rangkaian huruf yang membentuk string. Objek tersebut juga berisi subrutin. Misalnya length adalah fungsi yang menghitung panjang suatu string, atau jumlah karakter dalam suatu string. Beberapa method dalam kelas string : - Char charAt (int indeks) : menghasilkan karakter yang terletak pada posisi indeks. - Boolean equals (object anObject) : membandingkan string ini dengan objek lain Case sensitive. - Boolean equalslgnoreCase (string anString) : membandingkan string ini dengan obyek lain. Tidak case sensitive. - Int length () : mengembalikan nilai panjang/jumlah karakter dari string. - String toLowerCase () : mengkonversi semua karakter menjadi huruf kecil. - String toUpperCase () : mengkonversi semua karakter menjadi huruf besar. - String trim() : mengembalikan salinan string ini setelah menghilangkan spasi kosong di awal dan diakhir string. KELAS MATH Math adalah : kelas lyang terdapat pada paket java. Leng yang berguna untuk melakukan berbagai operasi matematika. Beberapa method dalam kelas math adalah : - Double abs(double a) : menghasilkan nilai mutlak dari atribut. - Double ceil (double a) : mengkonversi nilai atribut dengan pembulatan ke bawah. - Double floor (double a) : mengkonversi nilai atribut dengan pembulatan ke atas. - Long around (double a) : menghasilkan nilai yang merupakan bilangan bulat terdekat dengan parameter a. - Double sqrt (double a) : menghasilkan nilai yang merupakan akar kuadrat dari a. -

Jumat, 02 November 2012

Overloading,Overriding Dan Exception Pada Pemrograman Java

Membuat Program Overriding.java class OverRiding { public void MethodAsli () { System.out.println("Method Milik class OverRiding dijalankan"); } public static void main (String [] arqs) { OverRiding O = new OverRiding(); O.MethodAsli(); } } output : Membuat Program SubOverriding.java class SubOverRiding extends OverRiding { public void MethodAsli () { System.out.println("Method yang sudah OverRiding dijalankan"); } public void MethodAsliSuper() { System.out.println("Method pemanggil MethodAsli dijalankan"); super.MethodAsli (); } public static void main (String [] arqs) { SubOverRiding SO= new SubOverRiding (); SO.MethodAsli(); SO.MethodAsliSuper(); } } output : Overloading dan Overriding, keduanya merupakan class yang memiliki nama method yang sama. Namun pada overloading dan overriding memiliki kesamaan dan perbedaan yang dapat dilihat dari parameternya. A. OVERLOADING Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan suatu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter). Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama. B. OVERRIDING Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding : 1. Mendefenisikan kembali method kelas induk secara total. 2. Menambahkan behaviour tertentu pada method kelas induk. C. EXCEPTION Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception. Kategori error dalam program : 1. Syntax error 2. Runtime error 3. Logic error Bahan Pratikum A. Membuat Program SegiTiga.java class SegiTiga { public SegiTiga (double panjang) { System.out.println ("\nVariabel = segitiganya sama sisi"); System.out.println ("Panjang = " +panjang); keliling(panjang); } public SegiTiga (double panjang, double sisiMiring) { System.out.println ("\n2Variabel = segitiganya sama kaki"); System.out.println ("Panjang = " +panjang+ " sisi miring =" +sisiMiring); keliling(panjang,sisiMiring); } public void keliling(double panjang) { tampilkanHasil (panjang*3); } public void keliling(double p, double sM) { tampilkanHasil (2*sM+p); } protected void tampilkanHasil (double h) { System.out.println ("Hasil = " +h); } } output: B. Membuat Program MainSegiTiga.java Class MainSegitiga { Public static void main(string [] arqs) { new Segitiga(7); new Segitiga(4, 7); } } output : Keterangan : Baris 2, 3 dan 4 di dapat dari perintah new Segitiga(7); yang artinya memanggil konstruktor Segitiga yang memiliki 1 parameter pada class Segitiga yang mana perintah pertama dari konstruktor Segitiga adalah System.out.println("\nVariabel = segitiganya sama sisi"); yakni menampilkan kalimat Variabel = segitiganya sama sisi. Kemudian perintah keduanya adalah System.out.println("panjang = " +panjang); yakni menampilkan kata panjang = 7, yang sebelumnya adalah kembali pada perintah new Segitiga(7); yaitu memasukkan nilai 7 pada parameter panjang, sehingga didapat hasil : panjang = 7 dari perintah kedua. Pada perintah ketiga adalah keliling(panjang); yakni memanggil method keliling yang memilki 1 parameter, untuk mengirimkan nilai 7 pada parameter panjang, sedangkan perintah dari method keliling itu sendiri adalah tampilkanHasil (panjang*3); yakni memanggil method tampilkanHasil dengan mengirim panjang*3 pada paremeter h, yang mana perintah dari method tampilkanHasil adalah System.out.println("Hasil = " +h); yakni menampilkan kalimat Hasil = 7*3, sehingga didapat hasil = 21. Baris 5, 7 dan 8 di dapat dari perintah new Segitiga(4,7); yang artinya memanggil konstruktor Segitiga yang memiliki 2 parameter pada class Segitiga yang mana perintah pertama dari konstruktor Segitiga adalah System.out.println("\n2Variabel = segitiganya sama kaki"); yakni menampilkan kalimat 2Variabel = segitiganya sama kaki. Kemudian perintah keduanya adalah System.out.println("panjang = " +panjang+ " sisi miring = " +sisiMiring); yakni menampilkan kata panjang = 4 sisi miring = 7, yang sebelumnya adalah kembali pada perintah new Segitiga(4,7); yaitu memasukkan nilai 4 pada parameter panjang dan nilai 7 pada parameter sisiMiring, sehingga didapat hasil : panjang = 4 sisi miring = 7 dari perintah kedua. Pada perintah ketiga adalah keliling(panjang, sisiMiring); yakni memanggil method keliling yang memilki 2 parameter, untuk mengirimkan nilai 4 pada parameter panjang dan nilai 7 pada parameter sisiMiring, sedangkan perintah dari method keliling itu sendiri adalah tampilkanHasil (2*sM+p); yakni memanggil method tampilkanHasil dengan mengirim perintah 2*sM+p pada parameter h, yang mana perintah dari method tampilkanHasil adalah System.out.println("Hasil = " +h); yakni menampilkan kalimat Hasil = 2*7+4, sehingga didapat hasil = 18 Membuat Program CobaException.java class CobaException { public static void main (String [] arqs) { int nilai=0; try { int Nilai = Integer.parseInt (arqs[0]) ; System.out.println ("Nilai yang dimasukkan : "+Nilai); } catch(Exception e) { System.out.println("Pasti yang diinput bukan Integer"); } finally { System.out.println("Blok finally tetap dilakukan"); } } } output : Membuat Program PembagianNol.java class PembagianNol { public static void main(String[]args) { System.out.println("Sebelum pembagian"); try { System.out.println(5/0); } catch(Throwable T) { System.out.println("Terjadi pembagian nol"); } System.out.println("Sesudah pembagian"); } } output : Membuat Program TesInputData.java import java.io.*; class TextInputData { public static void main (String [] arqs) { BufferedReader BR = new BufferedReader (new InputStreamReader (System.in)); String Input =""; try { System.out.println ("Masukan data : "); Input = "Salah"; } finally { System.out.println ("Data yang anda masukan adalah " +Input); } } } output : catatan : Perbedaan antar override dengan overload Override Mendefinisikan method dengan nama sama pada class yang berbeda. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya. Overload mendefinisikan method dengan nama sama dalam satu class. Konsep sering di gunakan dalam penggunaan constructor.