Sekilas Java
Tentunya Anda tidak asing lagi dengan nama Java, sebuah bahasapemrograman berorientasi objek yang dikembangkan oleh Sun
Microsystems. Di bagian awal ini, kita akan mengulas tentang sekilas
Java yang ditinjau dari aspek lingkungan pengembangan dan
produk. Diharapkan ulasan ini nantinya dapat memperjelas termi-
nologi ataupun pernyataan-pernyataan yang kerap kali membi-
ngungkan, terutama bagi yang baru mengenal Java.
1
• Lingkungan Pengembangan
Dalam mendiskusikan Java, kiranya penting sekali untuk mem-
bedakan antara bahasa pemrograman Java, Java Virtual Machine,
dan platform Java. Bahasa pemrograman Java adalah bahasa yang
digunakan untuk menghasilkan aplikasi-aplikasi Java. Pada umum-
nya, bahasa pemrograman hanya mendefinisikan sintaks dan peri-
laku bahasa.
Pada saat program Java dikompilasi, ia akan dikonversi ke bentuk
bytecode, yang merupakan bahasa mesin yang portable. Selan-
jutnya, bytecode tersebut dijalankan di Java Virtual Machine (atau
disebut Java VM atau JVM). Meskipun JVM dapat diimplementasikan
langsung di perangkat keras, namun biasanya diimplementasikan
dalam bentuk program perangkat lunak yang mengemulasi mesin
(komputer) dan digunakan untuk menginterpretasi bytecode.
Platform dapat didefinisikan sebagai perangkat lunak pendukung
untuk aktivitas-aktivitas tertentu. Platform Java sendiri pada prin-
sipnya berbeda dengan bahasa Java atau JVM. Platform Java adalah
himpunan kelas-kelas Java yang sudah didefinisikan sebelumnya
dan eksis sejak instalasi Java. Platform Java juga mengacu pada
lingkungan runtime atau API (Application Programming Interface)
Java.
• Edisi Java
Guna mencakup lingkungan-lingkungan aplikasi yang berbeda, Sun
mendefinisikan 3 (tiga) edisi Java.
• J2ME (Java 2 Micro Edition)
Edisi ini ditujukan bagi lingkungan dengan sumber daya ter-
batas, seperti smartcard, ponsel, dan PDA.
• J2SE (Java 2 Standard Edition)
Edisi ini ditujukan bagi lingkungan workstation, seperti pem-
buatan aplikasi-aplikasi dekstop.
• J2EE (Java 2 Enterprise Edition)
Edisi ini ditujukan bagi lingkungan Internet atau aplikasi ter-
distribusi dalam skala besar.
2
Perbedaan setiap edisi meliputi fitur-fitur bahasa yang didukung dan
API yang tersedia. Berdasarkan tingkatannya, edisi yang lebih tinggi
mampu mengemulasikan edisi yang lebih rendah. Adapun urutan
edisi dari yang tertinggi ke rendah adalah J2EE, J2SE, dan J2ME.
• Versi Java
Ada hal yang menarik dan perlu kita cermati mengenai versi-versi
Java yang telah dirilis. Sun menggunakan dua jenis versi untuk
mengidentifikasikan rilis Java, yaitu versi produk dan versi developer.
Seperti kita ketahui, versi terbaru saat ini adalah versi 6 (versi
produk) atau versi 1.6.0 (versi developer), dengan nama kode Mus-
tang.
Sejak tahun 2006, Sun juga menyederhanakan penamaan platform
dengan tujuan untuk mencerminkan tingkat kematangan, stabilitas,
skalabilitas, dan sekuriti yang lebih baik. Jika penamaan versi sebe-
lumnya adalah Java 2 Platform, Standard Edition 5.0 (J2SE 5.0),
maka sekarang disederhanakan menjadi Java Platform, Standard
Edition 6 (Java SE 6, atau lebih sering disebut Java 6).
Alir Kontrol Java
Seperti bahasa pemrograman lain, JAVA memiliki alir kontrol yang ditentukan dengan statement seleksi dan perulangan (looping). Suatu blok atau sekumpulan statement ditandai dengan sepasang kurung { }. Blok dapat bersarang dalam blok yang lain. Suatu variabel yang didefinisikan dalam suatu blok bersifat lokal.Penyeleksian Kondisi
1. statement if
a. Bentuk sederhana
BU : if (kondisi) statemen ;
Contoh :
• Tanpa Blok statemen
if(jumlah > 2) Tunjangan = 0.3;
• Dengan blok statement :
if(jumlah>2) {
Tunjangan = 0.3;
Potongan = 0.07; }
Ket : Jika kondisi benar makan akan di beri nilai tunjangan dan potongan.
b. Bentuk if-else
BU : if (kondisi) statement;
else statement;
Jika kondisi yang diseleksi bernilai benar maka statemen yang mengikutinya akan diproses dan bila kondisi bernilai salah maka statemen setelah else yang akan diproses.
c. Bentuk if-else-if…else
BU : if (kondisi1)
Statement;
else if (kondisi2)
statement;
………
else
statement;
Contoh :
int menu = 2;
if (menu = = 1)
Sytem.out.println(“menu anda nasi goreng”);
else if (menu = = 2)
Sytem.out.println (“menu anda nasi uduk”);
else
Sytem.out.println (“tidak ada menu”);
Out : menu anda nasi uduk
d. Bentuk if bersarang (Nested if)
BU : if (kondisi1)
if (kondisi2)
…..
if (kondisi n)
statement;
else
statement;
…..
else
statement;
else statement;
Contoh :
if(Nilai >= 80)
if(Nilai = = 80) {
Sytem.out.println (“Nilai Anda”+Nilai);
Sytem.out.println (“Nilai Anda cukup”); }
else {
Sytem.out.println (“Nilai Anda”+Nilai);
Sytem.out.println (“Nilai Anda memuaskan”); }
else {
printf(“Nilai Anda “+Nilai);
printf(“Nilai Anda kurang”); }
Jika Nilai = 85 maka output : Nilai anda 85
Nilai anda memuaskan
e. Bentuk if kondisi jamak
Kondisi jamak berhubungan dengan operator logika AND(&&), OR(||), atau NOT(!) untuk menyeleksi beberapa kondisi sekaligus.
Contoh :
if(A>5 || B< 3 && C= = ‘Y’)
Sytem.out.println (“kondisi benar”);
else
Sytem.out.println (“kondisi salah”);
Jika diberi nilai A=4, B = 5, C = ‘Y’ maka
hasilnya : kondisi salah
2. Statement switch…case
Bentuk : switch(kondisi) {
case konstanta1:
Statement-statement;
break;
case konstanta2:
Statement-statement;
break;
………………
default:
statement-statement; }
Statement switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang berda pada case. Jika hasil dari kondisi sama dengan konstanta yang ada di case maka statementstatement yang ada di case akan diproses sampai ditemui statemen break untuk keluar dari penyeleksian switch. Jika semua konstanta tersebut tidak ada yang sama maka statement yang berada pada default akan dijalankan.
Contoh :
class Switch {
public static void main( String args[] ) {
int nilai = 2 ;
switch (nilai) {
case 1: printf(“satu”); break;
case 2: printf(“dua”); break;
default: printf(”tidak ada”); break; }
}
Out : dua
PERULANGAN
Indeterminate loops
1. while (condition) { block }
2. do {
…..Statement….
} while (ekspresi) ;
Kontrol perulangan while lebih diperuntukkan pada control perulangan yang didasarkan pada kondisi yang benar. Bisa jadi, tidak ada inisialisasi nilai awal. Bentuk perintah do … while mirip dengan while, hanya perintah yang berada dalam blok perulangan paling tidak akan dikerjakan satu kali
Determinate loops
for (Inisialisasi; terminasi; increment)
{
…..Statement…. }
Statement merupakan inisialisasi, dimungkinkan untuk menginisialisasi lebih dari satu variabel, masing-masing dipisahkan dengan koma.
Contoh :
public class CommaOperator {
public static void main (String[ ] args) {
for (int i=1,j=1;i<5; i++ , j = i * 2) {
System.out.println(“i = “+ i +“ j = “+ j);
}}
}
out : i = 1 j = 2
i = 2 j = 4
i = 3 j = 6
i = 4 j = 8
a. Statemen Continue
Menyebabkan proses perulangan ke awal mulainya perulangan dengan mengabaikan statement-statement berikutnya setelah continue. Dapat digunakn untuk perulangan for, while dan do-while.
Contoh :
class Continue {
public static void main( String args[]) {
int I, N; N = 2;
for(I = 1; I16) continue;
N = N + 1 ; }
System.out.print (“Nilai N adalah ” + N); }
}
Output : Nilai N adalah 44
Penjelasan : I N = N*2 N=N+1
1 N = 4 N = 5
2 N = 10 N = 11
3 N = 22
kondisi N>16 terpenuhi maka N = N+1 tidak dijalankan, program melanjutkan looping.
4 N= 44
b. Statemen Break
Selain digunakan pada pernyataan switch, berak juga digunakan pada pernyataan for, le dan do-while. Kegunaanya untuk memaksa keluar dari pernytaan-pernyataan itu.
Contoh:
class Break {
public static void main( String args[]) {
int I, N; N = 2;
for(I = 1; I16) break;
N = N + 1 ; }
System.out.print (“Nilai N adalah ” + N); }
}
Output : Nilai N adalah 22
Penjelasan : I N = N*2 N=N+1
1 N = 4 N = 5
2 N = 10 N = 11
3 N = 22
kondisi N>16 terpenuhi maka looping dihentikan. Program keluar dari proses looping karena terdapat break,
PEMROGRAMAN BERORIENTASI OBJEK
Belajar PBO, berarti harus membiasakan diri berpikir secara kelas dan objek setiap menghadapi masalah.Contoh :
Buatlah program untuk menghitung keliling lingkaran dari masukan jari-jarinya !
Masalah tersebut bila disajikan dengan pendekatan kelas dan objek, harus direvisi sebagai berikut :
Buatlah kelas lingkaran yang memiliki tanggungjawab mengetahui jari-jarinya dan kelilingnya, lingkaran tersebut dapat melakukan aksi mengembang dan berkerut sesuai dengan panjang jari-jarinya.
Sylabi
1. Pengantar
2. Kelas, Method dan Modifier
3. Objek
4. Package
5. Information Hiding, Encapsulation, Inheritance, dan Polymophism
6. Kelas Inner, Kelas Abstract, dan Interface
7. Exception Handling
8. Kelas-Kelas Dasar
9. MultiThreading
BAB I. Pengantar
(Identifier, Keyword, Literal dan Tipe Data, Operator, Separator)
1.1. Pengantar
Bahasa java yang telah dirilis :
1. Product Sun Microsystem : j2se, j2me, j2ee
2. Product Borland : JBuilder
3. Product Microsoft : Visual J
Spesifikasi j2ee antara lain JDBC, JDOM (untuk XML), Remote Method Invocation, Enterprise Java Beans, Java Messaging, Java Server Pages, Java Servlet, Socket Programming, dan SQLJ.
Java/Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java.
Development Kit dapat didownload di :
http://java.sun.com/product/JDK/index.html atau
http://java.sun.com/j2se/1.5/index.html atau
http://java.sun.com/cgi-bin/java-ports.cgi
Komponen JDK antara lain compiler(javac), interpreter(java) disebut juga java virtual machine atau java runtime environment, applet viewer(appletviewer), debugger(jdb), java class library(jcl), header dan stub generator(javah), dan yang paling penting yaitu java documentation(javadoc).
Penjelasan penggunaan komponen JDK :
1. Kompilator (javac)
Bertugas untuk melaksanakan kompilasi
*.java menjadi *.class
Syntax umum : javac nama.java
2. Interpreter (java)
Bertugas untuk menjalankan bytecode (*.class)
Syntax umum : java nama.class
3. Applet Viewer
Digunakan untuk menjalanakan applet viewer, namun sekarang sudah digantikan browser.
Syntax umum : appletviewer nama.html
4. Java Debugger
Bertugas untuk melakukan debugging aplikasi java. Syntax umum : jdb option
5. Java Class File Diassembler (javap)
Bertugas membuat daftar method dan attribute public dari suatu kelas.
Syntax : javap namaKelas
6. Java Header and Stub Generator
Bertugas menerjemahkan bahasa yang ditulis dalam bahasa java menjadi bahasa C.
Syntax umum : javah namaKelas
7. Java Documentation Generator
Menampilkan pustaka kelas, interface, constructor, dan method standard yang telah dibuat vendor.
Dari hasil instalasi, dokumentasi ini dapat dilihat di pada C:\java\docs\api\index.html atau
C:\Program Files\NetBeans3.6\docs\junit\index.html
8. Source Code Java API
Source code ini dapat diperoleh dari file src.zip.
Untuk pemrogram pemula lingkungan pemrograman java dapat diringkas menjadi :
1. Editing source code menggunakan editor teks.
2. Compiling menggunakan keyword javac melalui command promp (dapat juga dari editor teks).
3. Executing menggunakan :
a. Keyword java melalui command prompt (dapat juga dari editor teks)
b. Browser atau applerviewer untuk applet.
Token
Token adalah elemen terkecil di program yang masih memiliki arti. Ada 5 token dalam bahasa java yaitu identifier, keyword, literal dan tipe data, operator, serta separator.
Identifier
Identifier adalah token yang merepresentasikan nama sesuatu. Sesuatu tersebut adalah variabel, atau konstanta, atau attribute, atau method, atau kelas, atau package, atau interface, atau nama file, dan lain-lain.
Keyword
Kata kunci digunakan untuk suatu tujuan tertentu. Ada 51 keyword dalam java yaitu :
abstract | continue | for | new | switch |
boolean | default | goto | null | synchronized |
break | do | if | package | this |
byte | double | implements | private | threadsafe |
byvalue | else | import | protected | throw |
case | extends | instanceof | public | throws |
catch | false | int | return | transient |
car | final | interface | short | true |
class | finally | long | static | try |
const | float | native | super | void |
while |
Literal dan Tipe Data Primitif
Literal adalah nilai variabel/attribute atau nilai konstanta atau nilai objek data. Ada tiga besaran literal dalam java yaitu angka, karakter, dan string.
Angka terdiri dari byte, short, int, long, float, double, dan boolean (dianggap angka true = 1 atau false = 0)
Semua variabel dan konstanta yang akan digunakan harus dipesan terlebih dahulu dalam deklarasi.
Bentuk umum :
TipeData namaVar = ungkapan_atau_nilai;
TipeData namaVar1, namaVar2, …;
[modifier] static final TipeData NAMAKONSTANTA = nilai;
Contoh deklarasi :
double a=3, b=4;
double c = Math.sqrt(a*a+b*b);
static final PHI=3.14;
static final double CM_PER_INC = 2.54;
Berikut tabel jangkauan dan ukuran dari semua tipedata sederhana dalam java :
Tipe Data Primitif
|
Jangkauan
|
Ukuran (bit)
|
byte
|
-128 s/d 127
|
8
|
short
|
-32767 s/d 32767
|
16
|
int
|
-2147483648 s/d 2147483647
|
32
|
long
|
-9223372036854775808 s/d
9223372036854775807
|
64
|
char
|
sebuah Unicode
|
16
|
float
|
3.4e-038 s/d 3.4e+038
|
32
|
double
|
1.7e-308 s/d 1.7e+308
|
54
|
boolean
|
false = 0 atau true = 1
|
8
|
Operator
Operator melakukan komputasi terhadap satu/dua objek data. Operan yang dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim method.
Berikut tabel dan hirarki operator :
Prioritas
|
Kelompok Operator
|
Keterngan
|
1
|
. [] () | Sekaligus |
2
|
++var, –var, ~, instanceof | preincrement, predecrement, unary, instance dari kelas … |
3
|
(type) (casting) | |
4
|
! | Not |
5
|
*, /, % | perkalian, pembagian, modulus |
6
|
+, - | penjumlahan, pengurangn |
7
|
<<, >>, >>> | geser untuk bil biner |
8
|
<, >, <=, >= | pembandingan |
9
|
==, != | kesamaan, ketidaksamaan |
10
|
& | and |
11
|
^ | exclusive or |
12
|
| | unconditional or |
13
|
&& | conditional and |
14
|
|| | conditional or |
15
|
? : | shorthand untuk if..then…else… |
16
|
=, +=, -=, *=, /=, %=, ^= | operator penugasan |
17
|
&=, |=, <<=, >>=, >>>= | operator penugasan |
18
|
var++, var– | postincrement, postdecrement |
Separator menginformasikan ke compiler java mengenai adanya kelompok kode program.
Berikut adalah daftar separator di java :
Notasi
|
Nama
|
Deskripsi
|
(…)
|
kurung | mengelompokkan parameter method. |
{…}
|
kurung kurawal | mengelompokkan nilai-nilai suatu array, mendefinisikan blok kode kelas ataupun kode method. |
[…]
|
kurung siku | mendeklarasikan tipe array |
:
|
titik koma | mengakhiri pernyataan, merangkai pernyataan-pernyataan di dalam for. |
,
|
koma | memisahkan identifier-identifier di bagian deklarsi variable. |
.
|
titik | memisahkan nama-nama package,
memisahkan kelas dari objek, dan objek dari method. |
Keyword break, continue, dan return
Kelompok keyword ini pada prinsipnya merupakan kendali jump (variasi lain dari goto), sehingga berakibat pengabaian sisa instruksi.
JAVA FOUNDATION
Java Foundation Class (JFC) merupakan sekumpulan class-class Java
yang digunakan untuk mengembangkan perangkat lunak berbasis GUI
(Graphical User Interface). Selain itu, JFC juga mempunyai class-class
yang digunakan untuk menambahkan fungsi dan kemampuan interaksi yang
variatif dari pemrograman Java. Dari definisi ini, JFC tidak hanya
berisi class-class GUI saja tetapi juga class-class lain yang dapat
meningkatkan kemampuan pemrograman Java baik dari segi fungsionalitasnya
maupun dari segi kemampuan interaksi pemrograman Java yang sangat kaya.
Feature JFC
Pada umumnya aplikasi yang dikembangkan dengan Swing mempunyai kode yang sangat ‘kotor’, dimana kode yang berisi pengendalian terhadap event komponen swing bercampur aduk dengan kode yang berisi aturan bisnis dan kode yang berisi manipulasi terhadap data.
Swing Package
Swing API sangat bagus dan lengkap, Java 6.0 menyertakan setidaknya tujuh belas (17) buah package yang berisi class-class swing yang siap digunakan.
Utungnya kita tidak akan menggunakan semua class-class dalam package swing, hanya sebagian kecil saja dari class-class tersebut yang nantinya akan benar-benar kita gunakan. Sehingga kita bisa berkonsentrasi untuk memahami beberapa komponen penting saja. Dalam modul ini nanti kita hanya akan menggunakan beberapa class komponen swing yang penting saja. Beberapa kelas ini sudah cukup sebagai bahan pemembuat perangkat lunak berkualitas.
Komunitas Java juga menyediakan banyak sekali library swing, antara lain dari Swingx dan JGoodies yang mengembangkan library standard swing dengan menambahkan berbagai macam feature menarik. Sedangkan komunitas dari javadesktop.org mengembangkan banyak sekali library swing untuk keperluan khusus. Nyaris semua komponen yang kita perlukan baik komponen umum hingga komponen untuk tujuan khusus banyak tersedia di internet, kita tinggal mencari dan menggunakan.
Praktek yang baik dalam memilih komponen apa yang tepat adalah dengan mencari dahulu informasi di internet. Hal ini sangat bermanfaat untuk mengurangi waktu kita mengembangkan komponen, sehingga kita bisa lebih banyak berkonsentrasi untuk
mengembangkan sisi bisnis dan usability dari software yang kita kembangkan. Sebaik apapun softeware yang kita buat tapi tidak memberikan nilai tambah terhadap masalah yang dihadapi adalah kesia-siaan belaka. Banyak sekali software yang dianggap gagal memberikan nilai tambah terhadap masalah yang dihadapi hanya karena tampilan GUI-nya sangat susah dipahami dan tidak intuitif.
Feature JFC
Fitur-fitur yang dipunyai oleh JFC
|
|
Komponen Swing | Memuat semua class-class yang dibutuhkan untuk membuat aplikasi berbasis GUI, dari tombol, table, tab, menu, toolbar dan sebagainya |
Look and Feel (LaF) | Memberikan kemampuan kepada program Java yang dikembangkan menggunakan library swing untuk memilih tema tampilan. Misalnya sebuah program yang sama dapat mempunyai tampilan windows LaF atau Java LaF, atau LaF lain yang dikembangkan oleh komunitas seperti JGoodies. |
Accessibility API | Faslititas untuk mengembangkan aplikasi bagi penyandang cacat, misalnya dukungan untuk membuat huruf braile, kemampuan mengambil input dari layar sentuh dan sebagainya. |
Java 2D API | Berisi kumpulan class-class yang dapat digunakan untuk memanipulasi object-object 2 dimensi, sperti garis, kotak, lingkaran, kurva dan lain sebagainya. Selain itu Java 2D API juga memberikan kemampuan program yang ditulis menggunakan Java untuk mencetak output ke alat pencetak seperti printer. |
Drag-anddrop | Menyediakan kemampuan drag-and-drop antara program Java dan program lain yang ditulis spesifik untuk suatu platform sistem operasi tertentu. |
International ization (i18n) | Membantu pengembang perangkat lunak untuk membangun aplikasi yang dapat mendukung semua bahasa dan huruf yang ada di dunia. |
Tabel Feature JFC
Modul ini akan berkonsentrasi untuk membahas komponen swing.
Pemilihan komponen dan library swing yang tepat dapat mempengaruhi
kualitas program yang kita buat secara signifikan. Hal ini dikarenakan,
dalam dunia Java Standard Edition, lebih spesifik lagi aplikasi Java
yang dibangun menggunakan swing, belum ada framework yang benar-benar
komprehensif membimbing pengembang untuk membuat aplikasi yang
berkualitas.Pada umumnya aplikasi yang dikembangkan dengan Swing mempunyai kode yang sangat ‘kotor’, dimana kode yang berisi pengendalian terhadap event komponen swing bercampur aduk dengan kode yang berisi aturan bisnis dan kode yang berisi manipulasi terhadap data.
Swing Package
Swing API sangat bagus dan lengkap, Java 6.0 menyertakan setidaknya tujuh belas (17) buah package yang berisi class-class swing yang siap digunakan.
javax.accessibility | javax.swing.plaf | javax.swing.text |
javax.swing | javax.swing.plaf.basic | javax.swing.text.html |
javax.swing.border | javax.swing.plaf.metal | javax.swing.text.rtf |
javax.swing.colorchooser | javax.swing.plaf.multi | javax.swing.table |
javax.swing.event | javax.swing.plaf.synth | javax.swing.tree |
javax.swing.filechooser | javax.swing.undo |
Utungnya kita tidak akan menggunakan semua class-class dalam package swing, hanya sebagian kecil saja dari class-class tersebut yang nantinya akan benar-benar kita gunakan. Sehingga kita bisa berkonsentrasi untuk memahami beberapa komponen penting saja. Dalam modul ini nanti kita hanya akan menggunakan beberapa class komponen swing yang penting saja. Beberapa kelas ini sudah cukup sebagai bahan pemembuat perangkat lunak berkualitas.
Komunitas Java juga menyediakan banyak sekali library swing, antara lain dari Swingx dan JGoodies yang mengembangkan library standard swing dengan menambahkan berbagai macam feature menarik. Sedangkan komunitas dari javadesktop.org mengembangkan banyak sekali library swing untuk keperluan khusus. Nyaris semua komponen yang kita perlukan baik komponen umum hingga komponen untuk tujuan khusus banyak tersedia di internet, kita tinggal mencari dan menggunakan.
Praktek yang baik dalam memilih komponen apa yang tepat adalah dengan mencari dahulu informasi di internet. Hal ini sangat bermanfaat untuk mengurangi waktu kita mengembangkan komponen, sehingga kita bisa lebih banyak berkonsentrasi untuk
mengembangkan sisi bisnis dan usability dari software yang kita kembangkan. Sebaik apapun softeware yang kita buat tapi tidak memberikan nilai tambah terhadap masalah yang dihadapi adalah kesia-siaan belaka. Banyak sekali software yang dianggap gagal memberikan nilai tambah terhadap masalah yang dihadapi hanya karena tampilan GUI-nya sangat susah dipahami dan tidak intuitif.
Membuat Swing HelloWorld dengan
Netbeans 6
Netbeans 6 dilengkapi dengan GUI builder yang dikenal dengan Matisse. Dalam modul ini selanjutnya, Matisse akan digunakan untuk menyebut Netbeans GUI Builder. Tools ini sangat powerful dan produktif dalam membuat komponen GUI. Langkah-langkah yang harus anda lakukan untuk membuat Swing HelloWorld dengan Matisse adalah sebagai berikut:
1. Buat project baru dalam Netbeans, caranya pilih menu :
File > New Project
2. Langkah berikutnya anda harus menentukan kategori project yang akan anda buat, caranya pilih :
General > Java Application
Anda akan dibawa ke dialog untuk menentukan nama project dan folder dimana anda meletakkan project tersebut, pilih folder sesuai keinginan anda.
3. Klik kanan di project yang baru anda buat, popup menu akan muncul, kemudian pilihlah menu :
New > JFrame Form…
Kemudian masukkan nama class JFrame yang akan dibuat, misalnya Helloworld.java, klik finish.
4. Tampilan Netbeans akan berganti dengan tampilan GUI builder, dimana di sisi kanan akan terlihat Swing Pallet. Klik item Label di Swing Pallet kemudian klik di atas JFrame, sebuah Jlabel akan dibuat
Jendela Design dan Pallete Netbeans Matisse
5. Untuk memenuhi tujuan kita membuat Swing HelloWorld, kita akan memasukkan string “HelloWorld” ke dalam JLabel yang baru saja kita buat. Caranya, dobel klik di atas JLabel tersebut, kursor muncul bersama text field dan ketikkan “Helloworld”.
6. Klik kanan di file HelloWorld.java pada jendela explorer di sebelah kiri, pilih menu Run File… untuk mengcompile dan menjalankan class HelloWorld.java atau tekan tombol SHIFT + F6.
Matisse mempunyai sistem Layouting yang sangat fleksible, sistem layout yang digunakan oleh Matisse adalah GroupLayout. Dalam chapter berikutnya kita akan belajar bagaimana menggunakan GroupLayout ini dengan benar dan memanfaatkan keunggulanya dalam menata component GUI dengan sangat rapi.
Swing helloworld ini hanya sebagian kecil saja dari pekerjaan yang harus dilakukan dalam membangun aplikasi desktop berbasis Java. Selanjutnya kita akan membahas penggunaan JLabel, JButton, JCheckBox, JTextField dan JRadioButton untuk membuat aplikasi GUI sederhana dengan menggunakan Matisse.
Komponen Swing
Swing toolkit menyediakan banyak sekali komponen untuk membangun aplikasi GUI desktop. Swing toolkit juga menyediakan class-class untuk menangani interaksi antara aplikasi dan user menggunakan standard input seperti keyboard dan mouse. Komponen-komponen yang disediakan swing mencakup semua GUI toolkit yang lazim digunakan dalam apilasi desktop, seperti : JTabel, JList, JTree, JButton, JLabel dan masih banyak komponenkomponen lainnya yang sudah teruji dan siap pakai.
Selain komponen GUI, swing juga menyediakan fasilitas untuk proses undo, komponen untuk mengolah text, internationalization, Komponen GUI yang mendukung penyandang cacat (accessibility support) dan fasilitas drag-and-drop.
Look and Feel merupakan fasilitas yang unik dalam swing. Dengan fasilitas Look and Feel ini kita bisa dengan mudah merubah tampilan dari program kita sesuai dengan keinginan dan tujuan kita. Misalnya, agar program terlihat fancy atau agar program terlihat konsisten dalam segala keadaan.
Swing juga menyediakan library Java 2D untuk pengolahan data secara visual, seperti mengolah gambar, object 2D, bahkan animasi. SwingLabs.org menyediakan libary Swing Painter yang merupakan pengembangan dari Java 2D, Swing Painter ini memungkinkan aplikasi swing mempunyai tampilan yang indah dan terlihat profesional.
Java 6.0 menambahkan banyak sekali fitur-fitur baru ke dalam package swing, termasuk dukungan untuk library OpenGL menggunakan JOGL, Tray Icon dan Web Service. Dengan adanya dukungan ini swing menjadi lebih poweful dan mempunyai masa depan yang cerah.
SEJARAH JAVA
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 pemeritaan pertama kali pada surat kabar San Jose Mercury News pada 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 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.
Tidak ada komentar:
Posting Komentar