Archive

Archive for October, 2010

Satu Pertanyaan.

October 30, 2010 2 comments

Pada suatu hari ada seorang ada seorang mahasiswa yang pergi menuju ke rumah seorang Profesor. Sampai pada suatu jalan, mahasiswa tersebut bingung menentukan ke arah yang tepat. terdapat dua pilihan, yaitu ke kiri dan ke kanan. Ditempat tersebut ada dua anak kembar yang sangat identik, tapi mempunyai dua sifat yang berbeda, yang satu selalu jujur sebut saja dengan T dan yang satu selalu berbohong sebut saja F. Mahasiswa tersebut tidak tahu mana F mana T. maka jika mahasiswa mempunyai satu kesempatan bertanya kepada salah satu anak kembar identik tersebut.. pertanyaan apa yang bisa membantu mahasiswa tersebut menuju ke arah rumah sang Profesor?

Jawabannya.

Apa jawaban saudaramu tentang arah menuju rumah professor?

dan mahasiwa tersebut harus menuju kearah sebaliknya dari jawaban salah satu anak tersebut.

Advertisements

Event Handling GUI pada Java

October 30, 2010 2 comments

Dalam event handling pada Java ada empat bagian penting yang harus diketahui:

  1. Event Object merupakan object yang mendiskripsikan sebuah event yang di-trigger oleh event source.
  2. Event Handler merupakan method yang menerima event object dan melakukan respond yang sesuai dengan event object tersebut.
  3. Event Listener merupakan interface yang akan meng-handle event yang terjadi. setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus diimplementasikan oleh class yang akan meng-handle event
  4. Event Source merupakan pembangkit / trigger sebuah event objects

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 :

  1. ActionEvent
  2. ItemEvent
  3. WindowEvent
  4. ContainerEvent
  5. ComponentEvent
  6. FocusEvent
  7. TextEvent
  8. KeyEvent
  9. MouseEvent
  10. AdjustmentEvent

Berikut ini Interface Listener

  1. ActionListener
  2. ItemListener
  3. WindowListener
  4. ContainerListener
  5. ComponentListener
  6. FocusListener
  7. TextListener
  8. KeyListener
  9. MouseListener
  10. MouseMotionListener
  11. 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

  1. Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code yang menyatakan class tersebut meng-implement interface listener
  2. Event source mendaftarkan sebuah listener melalui method add<type>Listener
  3. Kode yang mengimplementasikan method pada interface listener pada class yang akan meng-handle event. [ Override ]

Contoh 1

MouseEventsDemo.java

package mouseeventsdemo;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author Ren
*/
public class MouseEventsDemo extends Frame implements MouseListener, MouseMotionListener {  // Langkah 1
TextField tf;
public MouseEventsDemo( String title){
super(title);
tf = new TextField(60);
addMouseListener(this); // Langkah 2

}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) { // Langkah 3
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);
}
}

main.java

package mouseeventsdemo;

/**
*
* @author Ren
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
MouseEventsDemo med = new MouseEventsDemo(“Mouse Events Demo”);
med.launchFrame();

}

}

 

Semoga bermanfaat. Jika salah KOREKSI saya.^_^

Kisah Pohon Bambu.

October 21, 2010 2 comments
Kukuh Utama

Bamboo

Dahulu kala ada seorang pemuda yang memutuskan untuk menyerah, ia dipecat dari pekerjaannya, ditinggalkan istri yang dicintainya, dan mulai memalingkan dirinya dari Tuhan. Ia bahkan berfikir untuk mengakhiri hidupnya. Sambil berjalan ke dalam hutan yang rimbun untuk merenungi nasibnya, ia berkata kepada Sang Pencipta, “Ya Tuhan dapatkan Engkau memberi satu alasan kuat sebelum aku mengakhiri hidupku?” Lalu tiba2 Hutan Lebat itu yang malah bersuara, “Hai manusia, mengapa engkau mengutuk dirimu sendiri dan Tuhanmu?”. lalu anak muda balik bertanya, “Wahai Hutan, apakah engkau dapat memberiku alasan mengapa aku harus terus hidup?”. Sang Hutan itu menjawab, “Tentu saja. wahai anak muda, apakah engkau melihat sekeliling tanaman dan pohon-pohon bambu itu?”. “Ya.” jawab anak muda itu. Sang Hutan berkata, “Ketika saya menanam benih tanaman dan bambu, saya sangat memperhatikan mereka. Saya meminta sang surya untuk menyinari dan awan untuk memberikan hujan yang cukup.” “Tanaman hijau lainnya tumbuh dengan pesat memadati hutan, namun tidak ada yang tumbuh dari benih bambu yang aku tanam, namun aku tidak menyerah. Pada tahun kedua tanaman hijau terus tumbuh dengan suburnya, namun sekali lagi benih bambu tidak bertumbuh. Namun aku tetap tak mau menyerah.” “Pada tahun ketiga dan keempat hal yang sama terjadi, di mana pohon yang lainnya semakin lebat. Namun aku tetap tak mau berhenti.” “Dan keajaiban mulai muncul pada tahun kelima, benih bambu mulai muncul dari permukaan tanah. Sayangnya jika dibandingkan dengan tumbuhan hijau lainnya, pertumbuhan ini sangat kecil dan tak berarti. Namun aku tetap meminta awan untuk terus menyirami dan Surya untuk terus menyinarinya.” “Dan keajaiban baru benar-benar terjadi pada enam minggu berikutnya, secara tak terduga pohon bambu itu pohon bambu itu telah berdiri tinggi menjulang lebih dari 30 meter. Dan ternyata, selama lima tahun sang benih bambu itu tumbuh ke bawah untuk memperkuat akarnya menghujam ke dalam tanah. karena untuk pertumbuhan yang besar diperlukan akar yang kuat.” “Demikian juga dengan kegagalan dan kemalangan yang kamu alami selama ini, hal tersebut bermaksud untuk mempersiapkan dirimu untuk menjadi kuat dan kokoh. aku saja tidak akan berhenti berkarya terhadap pohon bambu, apalagi Tuhan terhadap kamu. Jangan membandingkan dirimu dengan orang lain, masing-masing orang telah dibentuk berbeda oleh Sang Pencipta. Akan tiba waktunya kamu akan tumbuh seperti pohon bambu tersebut.”

Source

Kamu Sangat Berharga

October 19, 2010 Leave a comment

Kukuh Utama

Positif Healing

Kamu bukanlah apa kata orang
Kamu bukanlah bagaimana yang terpancar dari teman2mu
Kamu berharga
Bahkan tanpa prestasi atau keterampilanmu
Kamu tetap berharga
Kelahiran dirimu ke dunia inilah yang membuatmu tak ternilai
Kamu ada
Kamu hidup
Dan itu sudah cukup untuk memperjuangkan keberadaanmu
Jangan merasa rendah diri
Alloh tidak pernah membuat produk massal
Dia membuatmu secara personal
Buktinya, hanya ada Einstein di dunia ini
Hanya ada satu Da vinci
Satu Bethoven
Satu Bill Gates
Dan, Hanya ada satu kamu…

Positif Healing : “Fenomena 25 Tahun (Kemana Hilangnya semangat muda kita?)”

October 18, 2010 2 comments

Banyak orang dewasa mengeluh, kenapa hari2 ku kurang menggairahkan, terasa membosankan, hari-hari yang ada terasa seperti rutinitas menjenuhkan, kadang aku pun merasa seperti robot yang selalu dan selalu melakukan aktivitas yang menjemukan, aku juga merasa bahwa pekerjaanku lebih banyak stressnya daripada kebahagiaan atas kenikmatan uang yang telah kudapat? Kemana hilangnya gairah hidup yang dulu sangat menggebu-gebu, kemanakah semangat muda yang dulu aku miliki, ke mana semangat yang dulu aku miliki hingga seolah-olah dahulu aku berfikir gunung everest pun bisa aku taklukan bila aku mau. Di bawah ini adalah tips bila kamu merasa hari-harimu kurang bergairah, dan kembali memunculkan semangat mudamu yang sudah hilang.

  • Berteman Tahukah kamu? Alasan mengapa kita waktu sekolah dan kuliah dahulu bersemangat?? Salah satunya adalah karena kita bertemu banyak teman! Oleh karena itu carilah teman lagi sebanyak mungkin, kunjungilah kembali teman yang sudah merenggang hubungannya, bergaulah setiap harinya, dan perbanyaklah teman2 barumu!
  • Tekunilah Pekerjaan yang kamu sukai Mungkin pekerjaan yang kita lakukan saat ini terasa menjenuhkan dan bikin stress. Hal itu sudah biasa terjadi. Oleh karena itu, mulai lah secara bertahap untuk melakukan pekerjaan yang memang sesuai dengan minatmu. Dan jadikanlah itu karirmu, atau sumber penghasilanmu. Tidak perlu iri atau membandingkan dengan penghasilan orang lain, itu malah menjauhkan dari dirimu yang sebenarnya. Jadilah dirimu sendiri dan sukseslah di bidang yang kamu minati.
  • Kreatifitas Apabila kita sudah tidak berani lagi bermimpi, tidak ada imajinasi lagi di dalam kepala kita. Maka berarti sama saja kita sudah mati. Karena apa? Karena sudah tidak ada lagi harapan membara di dalam hati kita. Salah satu cara untuk memunculkan kembali kreatifitas muda kita yang sudah lama hilang adalah dengan : menonton film2 fiksi, musik, buku pengembangan diri, buku inspirasi, atau dengan bermain game komputer.
  • Alam Pernahkah kita berjalan di pinggir sungai lalu tiba2 ide-ide dan inspirasi bermunculan di kepala kita, atau saat kita memandangi indahnya matahari di sore hari, atau saat kita melihat laut, atau melihat langit? Itulah salah satu keajaiban dari alam untuk kita. Luangkanlah waktu sejenak di pagi hari untuk menikmati sejuknya udaranya. Atau luangkanlah waktu di sore hari, untuk berjalan-jalan menikmati indahnnya langit yang biru ke merah-merahan.
  • Hiduplah dalam Impianmu Ambilah sebuah buku kecil, tulislah apa-apa yang paling ingin kau wujudkan dalam hidupmu. Contohnya menguasai bahasa prancis, pandai bermain piano, membuat motor modif sendiri, membuat taman impian di teras, berkunjung ke eropa, melakukan backpacker, dll. Agar lebih merangsang pikiran kita, maka tulislah “101 impianku”. Lihatlah selalu setiap hari daftar impianmu itu. Kita tidak perlu memikirkan bagaimana caranya agar impian2 kita tercapai. Atau mengabaikan pekerjaan kita sehari-hari. Hanya cukup terus melihat saja daftar impian kita itu, biarkan ia menyala di dalam pikiran kita. Dan beraktivitaslah seperti biasa, bekerjalah, atau bersekolahlah seperti biasa. Dan bila memang ada waktu dan kesempatan maka berusahalah sedikit-demi-sedikit mewujudkan impian kita. Dan rayakanlah hidupmu!

Abstract Class dan Interface dalam Java

October 15, 2010 3 comments

Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract. Abstract method meruapakan suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan parameter inputan method. Ketika suatu abstract class diturunkan/ di-extends, maka subclass harus mengimplementasikan semua method abstract pada parent/ base class. Jika tidak mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai abstract class.

Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance. Tipe data yang boleh pada interface hanya tipe data konstan. Setelah mengetahui apa itu interface. Timbul pertanyaan Mengapa membutuhkan interface?

  • Memecahkan bagian yang rumit dan spesifik. Dengan menggunakan class atau interface oleh vendor maka dalam pembuatan perangkat lunak menjadi lebih cepat.
  • Keterbatasan inheritance pada Java. Interface menjawab kebutuhan untuk melakukan multiple inheritance

Apakah Interface = Abstract class ?

Ya menurut saya sih antara keduanya memiliki kemiripan, tapi tidak sama. Mirip bukan berarti sama kan? Terdapat beberapa perbedaan antara keduanya yaitu

  • Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface tipe datanya hanya berupa konstanta
  • Method pada abstract class dapat berupa method kongkrit dan method abstract. Sedangkan pada interface semua method harus berupa method abstract.

Contoh

GraphicObject.java

abstract class GraphicObject {
int x,y;
void moveTo(int newValueX, int newValueY)
{
x = newValueX;
y = newValueY;
}
abstract void drawShape();
abstract void resize();

}

Circle.java

public class Circle extends GraphicObject {
void resize()
{
System.out.println(“Circle Resize”);
}
void drawShape()
{
System.out.println(“Circle Shape”);
}
void posisition()
{
System.out.println(this.x+this.y);
}
}

Main.java

public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Circle Lingkaran = new Circle();
Lingkaran.moveTo(5,5);
Lingkaran.drawShape();
Lingkaran.resize();
Lingkaran.posisition();
}

}

Semoga bermanfaat.

Encapsulation dalam Java

October 14, 2010 Leave a comment

Encapsulation

Setelah Inheritance dan Polymorphism, bagian yang menjadi dasar dari object oriented adalah encapsulation / enkapsulasi. Encapsulation merupakan cara membungkus data dan method yang menyusun kelas dan menyembunyikannya dari dunia luar. Jika kita telah melakukan information hiding terhadap suatu attribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap attribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu attribut tersebut.

Berikut ini keuntungan dari prinsip encapsulation :

  • Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari program.
  • Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul tersebut.
  • Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik hanya akan berinteraksi dengan bagian program melalui variable input dan output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi kemungkinan bug.

Kesimpulan :

Tujuan encapsulation adalah untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interfensi atau penyalahgunaan dari luar system dan sekaligus menyederhanakan system itu sendiri

Contoh :

Person.java

public class Person {
private int age;
private String name;
private String personId;

public void setAge(int newValue)
{
age = newValue;
}
public void setName( String newValue)
{
name = newValue;
}
public void setPersonId(String newValue)
{
personId = newValue;
}
public int getAge()
{
return age;
}
public String getName()
{
return name;
}
public String getPersonId()
{
return personId;
}
}

Main.java

public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Person ren = new Person();
ren.setAge(22);
ren.setName(“Ren A”);
ren.setPersonId(“113060002”);
System.out.println(“My name is” +ren.getName() +” My age :”+ ren.getAge() +”and My Id”+ren.getPersonId());

}

}