Senin, 12 Maret 2012

Attitude Dalam Bekerja

Attitude punya porsi besar dalam penilaian departemen sumber daya manusia (SDM) ketika menyeleksi karyawan. Meski kemampuan teknis penting, namun tanpa sikap yang baik perusahaan akan berpikir ulang untuk menerima calon karyawan.


Attitude yang dilihat SDM  terbagi dalam tiga hal. Yang pertama adalah dinamis. Apakah Anda seorang yang dinamis, dan memancarkan semangat? Hal ini bisa ditangkap dari sinar matanya. "Dari mata terlihat semangatnya untuk bekerja," 
Faktor selanjutnya adalah persiapan. Jika Anda melamar pekerjaan, sebaiknya Anda mengumpulkan informasi tentang perusahaan tersebut sebanyak mungkin. Mengapa Anda ingin melamar di perusahaan ini, dan apa target Anda. Terakhir, perusahaan biasanya menanyakan besar gaji yang diinginkan.
Jika Anda tergolong lulusan baru, Rully menyarankan agar tidak meminta gaji tinggi. Sebaiknya lakukan riset dulu berapa kisaran gaji dengan posisi yang sama di perusahaan lain. Besaran gaji yang Anda minta sebaiknya masih di antara kisaran gaji di perusahaan lain. Hal ini juga berlaku bagi yang telah berpengalaman. Meskipun berpengalaman di perusahaan lain, belum tentu seseorang akan cocok bekerja di tempat baru. Oleh karena itu sebaiknya ikuti dahulu kisaran gaji yang ada di perusahaan.
 Anonymous Inner Class

Anonymous inner class adalah inner class tanpa nama. Kegunaan dari anonymous inner class akan menyederhanakan kode-kode Anda lebih lanjut. Di bawah ini merupakan modifikasi dari contoh bagian sebelumnya. 

Contoh Menutup Window 
 import java.awt.*;
 import java.awt.event.*; 
class CloseFrame extends Frame
{   
Label label;       
CloseFrame(String title)
{      
super(title);     
 label = new Label("Close the frame.");      
this.addWindowListener(new WindowAdapter()
{      
 public void windowClosing(WindowEvent e)
{        
dispose();        
System.exit(1);       
}
   });   
}       
void launchFrame() {      
setSize(300,300);      
setVisible(true);   
}         
 public static void main(String args[]) {      
CloseFrame cf = new CloseFrame("Close Window Example");      
cf.launchFrame();    
} } 

Inner Class dan Anonymous Inner Class

Inner Class

Inner class, seperti namanya, adalah sebuah class yang dideklarasikan di dalam class lain. Kegunaan inner classes akan dapat membantu Anda menyederhanakan program, terutama dalam event handling seperti yang ditunjukkan pada contoh. 

Contoh Menutup Window 

import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame

Label label;   
CloseFrame(String title)
{  
super(title);  
label = new Label("Close the frame.");  
this.addWindowListener(new CFListener()); 

 void launchFrame()
{   setSize(300,300);  
setVisible(true); 
}  
class CFListener extends WindowAdapter
 {  
public void windowClosing(WindowEvent e)
{   
dispose();    System.exit(1);  
}   
}        
public static void main(String args[])

 CloseFrame cf = new CloseFrame("Close Window Example");  
cf.launchFrame(); 
} }

Contoh Mouse Events

import java.awt.*;
import java.awt.event.*;
public class MouseEventsDemo extends Frame implements MouseListener, MouseMotionListener {
TextField tf;
 public MouseEventsDemo(String title){
super(title);
 tf = new TextField(60);
 addMouseListener(this);
 }
public void launchFrame()
{
 /* Menambah komponen pada frame */ add(tf, BorderLayout.SOUTH);
setSize(300,300); setVisible(true);
 }
public void mouseClicked(MouseEvent me)
{
String msg = "Mouse clicked."; tf.setText(msg);
}
public void mouseEntered(MouseEvent me)
{
String msg = "Mouse entered component."; tf.setText(msg);
}
public void mouseExited(MouseEvent me)
{
String msg = "Mouse exited component."; tf.setText(msg);
}
 public void mousePressed(MouseEvent me)
{
String msg = "Mouse pressed."; tf.setText(msg);
}
public void mouseReleased(MouseEvent me)
{
String msg = "Mouse released."; tf.setText(msg);
 }   
public void mouseDragged(MouseEvent me)
{      
String msg = "Mouse dragged at " + me.getX() + "," +                                                 
me.getY();     
 tf.setText(msg);   
}   
public void mouseMoved(MouseEvent me)
{      
String msg = "Mouse moved at " + me.getX() + "," + me.getY();     
 tf.setText(msg);   
}   
public static void main(String args[])
{      
MouseEventsDemo med = new MouseEventsDemo("Mouse Events                                                     Demo");       med.launchFrame();    
}

Class AWT Event

What is JFC?

JFC  singkatan  dari Java FoundationClasses          yang           
terdiri atas fitur/fasilitas untuk membantumembuat GUI (Graphical User Interfaces) 
dan bisa  menerima  input  use r  dari    input  devices
Fitur-fitur dalam JFC adalah:
Komponen-komponen     Swing
Pluggable Look and Feel Support
API (Application Programmer Interface) yg dapatdiakses 
Java 2D API Men-support Drag and Drop

API Untuk Aplikasi AGUI

AWT (Abstract Window Toolkit):

Library  dan  komponen  GUI  (java.awt)  yang pertama  kali  diperkenalkan  oleh  Java, tidak  merekomendasikan lagi  penggunaan komponen  GUI  dari  AWT 

Swing  or  JFC  (Java Foundation Class):

Library  dan  komponen  GUI  (javax.swing) terbaru  dari  Java  dan  yang  direkomendasikan  untuk  pemrograman GUI.  Komponen  Swing  sebagian   besar adalah turunan  AWT dan lebih lengkap  daripada  AWT 

GUI pada java

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.

Merubah Contoh Reader/Writer

Contoh pengganti hampir sama dengan contoh sebelumnya tetapi lebih efisien. Walaupun membaca dan menulis ke stream sekali saja, karakter membaca yang pertama disimpan dalam buffer sebelum penulisan karakter baris per baris. Program menggunakan teknik dari perangkaian stream dimana clas FileReader dan FileWriter didekorasi dengan class BufferedReader dan BufferedWriter, berurutan.
import java.io.*; 
class CopyFile {   
void copy(String input, String output) {     
BufferedReader reader;      
BufferedWriter writer;      
String data;     
 try {        
 reader = new BufferedReader(new FileReader(input));        
 writer = new BufferedWriter(new FileWriter(output));         
while ((data = reader.readLine()) != null) {            
writer.write(data, 0, data.length());        
 }         
reader.close();        
 writer.close();      
} catch (IOException ie) {        
 ie.printStackTrace();      
}   
}     public static void main(String args[]) {      
String inputFile = args[0];      
String outputFile = args[1];      
CopyFile cf = new CopyFile();      
cf.copy(inputFile, outputFile);   
} } 
KELAS INPUT STREAM / OUTPUT STREAM

Input Stream dan Output Stream digunakan untuk mengakses informasi non teks (biner). Disebut juga BYTE STREAM. Contoh data biner : File EXE, file GIF. Input Stream / Output Stream tidak menangani konversi teks Unicode secara otomatis.
INPUT DAN OUTPUT FILE

Gunakan FileInputStream dan FileOutputStream unutk membaca dan menulis file non teks. Dan gunakan FileReader / FileWriter untuk file teks
Stream dapat dikomposisi atau difilter atau dibungkus untuk menghasilkan stream yang lebih kompleks. Konsep ini mirip dengan pipe di Unix/Windows.
Contoh :
1. BufferedReader yang menyediakan readline()
2. PipedWriter/PipedReader yang mempipe suatu stream.
3. PrintStream/PrintWriter untuk menulis ke stream dengan mudah

Tipe-Tipe Stream yang Umum Digunakan :


stream karakter dan byte. Kita hanya mengulang perbedaan mendasar antara
keduanya. Stream byte adalah abstraksi file atau alat untuk data biner sedangkan
stream karakter adalah untuk karakter Unicode.
Class InputStream adalah abstraksi class root untuk semua input stream byte sedangkan
class OutputStream adalah class root abstraksi dari semua output stream byte. Untuk
stream karakter, superclasss yang sesuai dari semua class-class secara berturut-turut
adalah class Reader dan the Writer. Kedua class-class ini adalah abstraksi class-class
untuk membaca dan menulis stream karakter.


Stream juga dikategorikan berdasarkan apakah mereka digunakan untuk membaca atau
menulis stream.
Contoh Stream/IO :
import java.io.*;
class CopyFile {
void copy(String input, String output) {
FileReader reader;
FileWriter writer;
int data;
try {
reader = new FileReader(input);
writer = new FileWriter(output);
while ((data = reader.read()) != -1) {
writer.write(data);
}
reader.close();
writer.close();
} catch (IOException ie) {
ie.printStackTrace();
}
}
public static void main(String args[]) {
String inputFile = args[0];
String outputFile = args[1];
CopyFile cf = new CopyFile();
cf.copy(inputFile, outputFile);
}
}

Konsep Dasar Stream IO

Stream adalah suatu abstraksi untuk input dan output ( tidak peduli dari mana input berasak atau kemana output akan pergi )

PACKAGE java.io

Package java.io berisi kelas yang berhubungan dengan I/O di Java. Dibagi beberapa kelas yaitu :
1. Reader / Writer dan turunannya
2. Input Stream / Output Stream dan turunannya
3. I/O Network ( socket TCP/IP )
4. Exception

KELAS ABSTRAK PADA java.io

Ada 4 kelas abstrak dasar :
1. Reader
2. Writer
3. Input Stream
4. Output Stream
~ Reader dan Writer digunkana untuk data teks
~ Input Stream dan Output Stream digunakan untuk data biner

KELAS READER / WRITER

Kelas Reader / Writer bekerja pada stream teks ( bahasa apapun ). Disebut juga character stream. Karena menangani konversi teks Unicode secara otomatis. Dan jangan dipertukarkan dengan Input Stream / Output Stream secara sembarangan karena hasilnya bisa error.