Selasa, 24 April 2012

Swing Make Over

Swing Make Over / Swing X
Swing MakeOver :
Teknik memanipulasi tampilan user interface (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button, dan lain-lain menjadi tampak lebih cantik
SwingX :
Salah satu ‘turunan‘ dari Swing yang bisa digunakan seorang progammer jika bosan dengan Swing, atau menginginkan fitur-fitur tambahan pada Swing. Komponen pada SwingX hampir sama dengan komponen pada Swing, contoh pada Swing terdapat komponen JList, JTable, JComboBox dan pada SwingX komponen tersebut menjadi JXList, JXTable, JXComboBox.
Kelebihan SwingX&nbrp;
  • Terdapat  fungsi addHighlighter() yang digunakan untuk memberi highlight pada sel tertentu (bisa berupa warna background berbeda dan sebagainya)
  •  SwingX juga menawarkan komponen baru, seperti JXDatePicker. Ini adalah contoh komponen yang sering dibutuhkan oleh aplikasi, tetapi tidak disediakan oleh Swing secara langsung.
  •  SwingX juga memiliki kotak dialog siap pakai, seperti JXTipOfTheDay, yang umum dipakai untuk menampilkan tips di program.

Rabu, 14 Maret 2012

Event Handling

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();
}
}


GUI Java

 PENGERTIAN JAVA GUIDapat disimpulkan bahwa Java GUI adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan komponen-komponen yang tidak bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya  adalah untuk memudahkan user menggunakan program yang dibuat tersebut.

Java AWT
Java AWT memungkinkan para pengembang untuk segera membangun applet dan aplikasi Java menggunakan sekelompok komponen antarmuka pengguna prebuilt. Sejumlah Java IDE yang tersedia mendukung pembuatan user interface menggunakan AWT dengan menyeret-dan-menjatuhkan komponen dari toolbar. Perlu dicatat bahwa sebenarnya IDE ini menghasilkan kode Java saat ditempelkan yang didasarkan pada apa yang Anda lakukan dalam lingkungan desain grafis.


Beberapa komponen AWT
Berikut ini adalah daftar dari kontrol AWT. Kontrol adalah komponen seperti tombol atau
textfield yang mengijinkan user untuk berinteraksi dengan aplikasi GUI. Berikut ini semua
subclass dari class Components.




Berikut ini adalah contoh penggunaan AWT 
JAVA SWING
Seperti pada package AWT, package dari Swing menyediakan banyak class untuk membuat
aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Perbedaan utama antara
keduanya adalah komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya,
program GUI ditulis menggunakan banyak class dari package Swing yang mempunyai tampilan
look and feel yang sama meski dijalankan pada paltform yang berbeda. Lebih dari itu, Swing
menyediakan komponen yang lebih menarik seperti color chooser dan option pane.


Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT.
Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing
sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai
contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama
komponen tersebut menjadi Jbutton class. Berikut adalah daftar dari komponen Swing.

 modul - JENI-Intro2-Bab07-Abstract Windowing Toolkit dan Swing

Stream I/O

Konsep dasar Stream I/O :

Stream adalah suatu abstraksi untuk data input dan output, tidak peduli dari mana input berasal atau kemana output akan ditujukan.

Tipe-Tipe Stream yang sering di gunakan: 
1. Stream Karakter dan Stream Byte
Stream Karakter
   - Keadaan file atau device untuk karakter Unicode
   - Superclass untuk semua class-class untuk stream karakter :
      * Class Reader
      * Class Writer
      * Kedua class tersebut adalah abstrak
   - Class-class yang terdapat dalam stream karakter :
      BufferedReader
·                      BufferedWriter
·                      FileReader
·                      FileWriter
·                      InputStreamReader
·                      OutputStreamReader
           Dll

Stream Byte
   - Digunakan untuk data biner
   - Class-class root untuk stream byte :
      * Class InputStream
      * Class OutputStream
      * Kedua class tersebut adalah abstrak
   - Class-class yang terdapat dalam stream byte:
       BufferedInputStream
·                        BufferedOutputStream
·                        DataInputStream
·                        DataOutputStream
·                        FileInputStream
·                        FileOutputStream
·                        InputStream
·                        OutputStream
·                         Dll


2. Input dan Output Stream
    Stream juga dikategorikan berdasarkan apakah mereka digunakan untuk membaca atau
    menulis stream.

Input Stream
Beberapa kelas turunan dari InputStream dapat dirangkum dalam tabel di bawah ini :

Kelas  Kegunaan  Argumen yang dibutuhkan untuk membuat objek
ByteArrayInputStream Menggunakan buffer pada memori sebagai aliran input Buffer yang akan digunakan sebagai aliran input
StringBufferInputStream Mengubah string menjadi InputStream Suatu String (di dalamnya sebenarnya menggunakan StringBuffer)
FileInputStream Untuk membaca informasi dari dalam file String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor
PipedInputStream Menghasilkan data yang ditulis oleh PipedOutputStream. Mengimplementasi konsep "piping". Bisa digunakan untuk multi-threading Objek PipedOutputStream
SequenceInputStream Menggabungkan dua atau lebih InputStream menjadi satu InputStream Dua atau lebih objek bertipe InputStream atau kontainer bertipe Enumeration yang berisi InputStream yang akan digabungkan
FilterInputStream Kelas abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan InputStream lain  

Output Stream
Beberapa kelas turunan dari OutputStream dapat dirangkum dalam tabel di bawah ini :

Kelas  Kegunaan  Argumen yang dibutuhkan untuk membuat objek
ByteArrayOutputStream Membuat buffer dalam memori. Semua data yang kita kirim akan disimpan di memori ini. Opsional untuk memberikan besar buffer yang akan disiapkan
FileOutputStream Untuk menulis informasi ke dalam file String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor
PipedOutputStream Informasi yang kita kirim di aliran output ini akan berakhir pada objek bertipe PipedInputStream. Mengimplementasi konsep "piping". Bisa digunakan untuk multi-threading Objek PipedInputStream
FilterOutputStream Kelas abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan OutputStream lain.  

 Contoh Program
contoh dibawah ini menggunakan class FileInputStream dan FileOutputStream untuk membaca file khusus dan mengcopy isi dari file ini ke file yang lain.

Contoh berikutnya menggunakan class PushbackInputStream yang memanfaatkan
sebuah object FileInputStream dan class PrintStream.

modul JENI-Intro2-Bab12-Stream IO Lanjut

Jumat, 29 Juli 2011

Attitude Moklet

Attitude atau Sikap umumnya pandangan positif atau negatif dari seseorang, tempat, benda, atau peristiwa-ini sering disebut sebagai objek sikap. Dengan melihat sikap seseorang maka kita akan tahu bagaimana kepribadian seseorang tersebut.

Sikap memiliki beberapa pengertian dan definisi sebagai berikut :
• Sikap adalah predisposisi mental untuk melakukan suatu tindakan (Kimmball Young (1945)
• Sikap adalah keajegan dan kekhasan perilaku seseorang dalam hubungan dengan stimulus manusia atau kejadian-kejadian tertentu (Sherif & sherif 1956)
• Sikap adalah predidposisi yang dipelajari untuk merespon secara konsisten dalam tatacara tertentu dan berkenaan dengan objek tertentu (Fishbein & Ajzen 1975)
• Kesimpulannya pengertain sikap adalah kecenderungan untuk bertindak dan bereaksi terhadap stimulus atau rangsangan.

Komponen sikap
Sikap merupakan hubungan dari berbagai komponen yang terdiri atas :
a. Komponen kognitif : yaitu komponen yang tersusun atas dasar pengetahuan dan informasi yang dimilki seseorang tentang objek sikapnya atau komponen yang berkaitan dengan pengetahuan, pandangan, keyakinan atau bagaimana mempersepsi objek
b. Komponen afektif : komponen yang bersifat evaluatif yang berhubungan dengan rasa senang dan tidak senang
c. Komponen konatif : kesiapan seseorang untuk bertingkah laku yang berhubungan dengan objek sikapnya atau komponen yang berhubungan dengan kecenderungan bertindak terhadap objek

Ciri-ciri sikap
Sikap memiliki ciri-ciri sebagai berikut :
a. Sikap tidak dibawa sejak lahir
Berarti manusia dilahirkan tidak membawa sikap tertentu pada suatu objek. Oleh karenanya maka sikap terbentuk selama perkembangan individu yang bersangkutan. Karena terbentuk selama perkembangan maka sikap dapat berubah, dapat dibentuk dan dipelajari. Namun kecenderungannya sikap bersifat tetap.
b. Sikap selalu berhubungan dengan objek
Sikap terbentuk karena hubungan dengan objek-objek tertentu, melalui persepsi terhadap objek tersebut.
c. Sikap dapat tertuju pada satu objek dan sekumpulan objek
Bila seseorang memiliki sikap negatif pada satu orang maaka ia akan menunjukkan sikap yang negatif pada kelompok orang tersebut.
d. Sikap itu dapat berlangsung lama atau sebentar
Jika sikap sudah menjadi nilai dalam kehidupan seseorang maka akan berlangsung lama bertahan, tetapi jika sikap belum mendalam dalam diri seseorang maka sikap relaatif dapat berubah.
e. Sikap mengandung perasaan atau motivasi
Sikap terhaadap sesuaatu akan diikuti oleh perasaan tertentu baik positif maupun negatif. Sikap juga mengandung motivasi atau daya dorong untuk berperilaku.




Maka dari itu mengapa SMK Telkom Sandhy Putra Malang mempunyai logo "Attitude Is Everything" karena sikap (attitude) sangat berpengaruh terhadap pandangan seseorang terhadap kita. Di sini (SMK Telkom SP Malang) kami para siswa siswinya diajarkan untuk membiasakan diri menjaga sikap terhadap para guru maupun senior.
Karena sikap (attitude) sangat berperan penting, dalam kehidupan sehari-hari. entah itu saat kita berada di lingkungan sekolah, kantor, maupun di masyarakat.

Kamis, 28 Juli 2011

Sejarah JAVA


Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury Newspada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
copy from: Wikipedia.org

Rabu, 27 Juli 2011

JAVA

Java adalah bahasa pemrogaman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.



Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
  • java.lang: Peruntukan kelas elemen-elemen dasar.
  • java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.


Keunggulan

  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, LinuxMac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

Kekurangan


  • Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.