Wednesday, March 28, 2012

Event Handling

Pertama-tama yang harus kita pelajari adalah Delegation Event Model (bagaimana program merespon interaksi dari user.)
Ada 3 komponen utama, yaitu:
  1. Event Source => mengacu pada komponen GUI yang meng-generate event.
  2. Event Listener/Handler => menerima berita dari event-event dan proses-proses interaksi 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.
Adapun Class-class Event, diantaranya:
  • ComponentEvent : Extends AWTEvent. Dijalankan ketika sebuah komponen dipindahkan, di-resize, dibuat visible atau hidden. 
  • InputEvent : Extends ComponentEvent. Abstrak root class event untuk semua komponen-level input class-class event.
  • ActionEvent : Extends AWTEvent. Dijalankan ketika sebuah tombol ditekan, melakukan double-klik daftar item, atau memilih sebuah menu.
  • ItemEvent : Extends AWTEvent. Dijalankan ketika sebuah item dipilih atau dideselect oleh user, seperti sebuah list atau checkbox.
  • KeyEvent : Extends InputEvent. Dijalankan ketika sebuah key ditekan, dilepas atau diketikkan.
  • MouseEvent : Extends InputEvent. Dijalankan ketika sebuah tombol mouse ditekan, dilepas, atau di-klik (tekan dan lepas), atau ketika sebuah kursor mouse masuk atau keluar dari bagian visible dari komponen.
  • TextEvent : Extends AWTEvent. Dijalankan ketika nilai dari text field atau text area dirubah.
  • WindowEvent : Extends ComponentEvent. Dijalankan sebuah object Window dibuka, ditutup, diaktifkan, nonaktifkan, iconified, deiconified, atau ketika focus ditransfer kedalam atau keluar window.





Sumber : Modul Jeni Bab 8 - Event Handling

Ringkasan tentang Pewarisan, Polimorphism, Pembungkusan dll

1.Pewarisan - Proses Penurunan semua method & variable kelas induk/superclass ke

kelas anak/subclass. keyword = "extends"

2.Polymorphism - Perubahan bentuk pada method, ada 2 jenis:
 - 2.1.Overload = Cirinya parameternya berbeda (pada pewarisan atau pada sendiri)
 - 2.2.Override = Cirinya parameter sama tetapi body berbeda. (pada pewarisan)

3.Pembungkusan - Tingkat Akses
 1. Public -> oleh Class lain (semua package)
 2. Default -> Class lain (dalam package yang sama tanpa modifier)
 3. Protected -> bisa diakses oleh Class itu sendiri maupun Class Turunan
 4. Private -> hanya bisa akses oleh Class itu Sendiri

4.1. Modifier Statis => berfungsi agar method & variabel diakses tanpa inisialisasi  objek

4.2. Modifier Final => berfungsi *mencegah penurunan class* / pemandulan, mencegah override method, membuat variabel menjadi konstan/tetap.

5.1. Abstract Class-Class => berisi *abstract method*/baris diimplementasi & non-abstract method, tidak bisa dibuat objek.
 keyword = "extends"

5.2. Interface => bukan class, hanya berisi *abstract method*/baris diimplementasi & variabel konstan (final)

Thursday, March 22, 2012

Pengenalan Java GUI

Kali ini saya akan membahas singkat tentang Java GUI.
Apasih Java GUI itu?
GUI adalah singkatan dari Graphic User Interfaces. Java GUI adalah aplikasi Java yang disediakan untuk berinteraksi dengan si user dengan tampilan grafis. Dengan kata lain didalam Java GUI terdapat komponen untuk membuat tampilan grafis. Ya kayak ada buttonnya, text area, label, dialog box, dll pokoknya banyak deh.
Didalam Java GUI terdapat 2 graphical library (hah apa'an tuh? mm.. yah kayak dibagi gitu). Yaitu: Swing dan AWT.
Antara Swing dan AWT itu berbeda. Perbedaannya bisa dilihat pada package-nya. Kalau Swing pakai "java.swing.*" dan file type-nya juga banyak. Tapi kalau AWT pakai "java.awt.event.*" dan file type-nya lebih sedikit dibandingkan dengan Swing.

Stream I/O pada Java

  Hmm..
Sebenarnya saya sulit untuk menjelaskan sesuatu dengan kata-kata. Tapi kali ini saya usahakan sesuai dengan kemampuan saya.
Kali ini saya akan membahas singkat tentang Stream I/O di dalam Java.
Apa sih itu Stream I/O dan apa saja jenisnya? Bisa anda lihat dibawah ini.

Perkenalan Stream I/O 

Stream I/O bila mana anda searching di google, maka anda akan menemukan penjabaran tentang Stream I/O yang kebanyakan berada di pemrograman C++. Tapi untuk sekarang ini saya coba membahas tentang Stream I/O pada Java.

Stream I/O adalah gambaran aliran data dari sumber input ke output tujuan. Bisa berupa program atau devices lain. Tapi untuk kali ini kita menyebutnya program saja yah.

Input Stream
adalah program yang mengatasi aliran bagian dari source data. Jadi cuma bisa membacanya tapi tidak bisa menulisnya.
Bila masih bingung, coba kita liat pada gambar berikut ini.
Di dalam Input Stream 

Output Stream
adalah program yang mengatasi aliran bagian yang meneruskan data yang sudah dikelola sampai ke tujuan(destination) atau bisa dibilang yang mengurusi bagian outputnya bagaimana.
Gambaranya sebagai berikut
Input Stream dan Output Stream diatas merupakan tipe-tipe stream yang biasa digunakan yang dikategorikan apakah mereka digunakan membaca atau menulis stream. Adapun tipe-tipe stream selain diatas yang sering digunakan yaitu:

Stream Byte dan Karakter
Untuk yang ini Stream dibagi dua seperti judul yang diatas yaitu Stream Byte dan Stream Karakter
Apasih perbedaanya?
Kalau Stream Byte itu abstraksi atau alat untuk data biner, sedangkan Stream Karakter adalah untuk karakter Unicode.




sumber: http://docs.oracle.com/javase/tutorial/essential/io/streams.html
                 Modul JENNI bab Stream I/O lanjut