Rabu, 14 Maret 2012

GUI EVENT HANDLING

pengertian


Event Handling merupakan konsep penanganan suatu action yang terjadi. Jadi suatu program akan berjalan saat sesuatu terjadi, misalnya saat tombol diklik, saat combo box dipilih dan sebagainya. Java memiliki beberapa jenis Event Handling, salah satunya adalah class ActionListener yang menangani aksi terhadap tombol. 


konsep dasar,Penerapan Dan contoh

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.





Contoh program :
import javax.swing.*;
import java.awt.event.*;
public class Main extends JFrame{
private JButton tombolKu = new JButton(“OK”),
tombol2 = new JButton(“Cancel”);
private JLabel labelKu = new JLabel(” << ANDA TELAH MEMILIH OK >> “),
label2 = new JLabel(” << ANDA TELAH MEMILIH CANCEL >> “);
private JPanel panelKu = new JPanel();
Main() {
super(“Membuat Tombol”);
panelKu.setLayout(null);
setSize(450, 140);
setDefaultCloseOperation(EXIT_ON_CLOSE);
labelKu.setBounds(110,20,450,25);
label2.setBounds(94,20,450,25);
labelKu.setVisible(false);
label2.setVisible(false);
tombolKu.setBounds(90,70,100,25);
tombol2.setBounds(250,70,100,25);
tombol2.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent evn){
label2.setVisible(true);
tombolKu.setEnabled(false);
}
});
tombolKu.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent evn){
labelKu.setVisible(true);
tombol2.setEnabled(false);
}
});
panelKu.add(labelKu);
panelKu.add(tombolKu);
panelKu.add(tombol2);
panelKu.add(label2);
getContentPane().add(panelKu);
setVisible(true);
}
public static void main(String[] args) {
Main evenKu = new Main();
}
}

Sedikit penjelasan, pada program diatas saya menggunakan event Action dengan 2 kejadian, yaitu setEnabled(false) dan setVisible(true) saat menekan tombol OK atau cancel.

Inilah GUI JAVA

Konsep Dasar GUI

Java GUI merupakan sebuah konsep yang memadukan dua buah teknologi yang ada yaitu Java dan GUI (Graphical User Interface). Seperti kita ketahui bersama Java merupakan bahasa pemrograman yang sudah mulai banyak digunakan saat ini karena beberapa kelebihan yang dimiliki seperti kemampuan multiplatform yang dimiliki, OOP, pustaka Class yang lengkap dsb.

Dapat 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.

Pengertian GUI

Antar muka komputer yang berbasiskan grafis. Adalah citra grafis yang ditampilkan di layar komputer yang memungkinkan untuk mengakses aplikasi software dengan memakai menu dropdown, dialog box, radio button, check box, panel, tabs, toolbar, icon shortcuts dan tool lain. Atau bisa juga dikatakan jenis antarmuka pengguna yang memungkinkan orang untuk berinteraksi dengan program dengan lebih banyak dengan gambar daripada perintah teks.
    
Sebuah GUI grafis menawarkan ikon, dan visual indikator, sebagai lawan dari antarmuka berbasis teks. Contoh perangkat yang menggunakan GUI:  perangkat genggam seperti MP3 Players, Portable Media Player dan perangkat Permainan. GUI ini dimulai pertama kali dengan X Windows hasil penelitian di MIT, kemudian Macintosh, Sun View, lalu disusul oleh Microsoft Windows, dan sistem operasi lainnya.




AWT

AWT merupakan singkatan dari Abstract Window Toolkit (meskipun orangdatang dengan memiliki banyak  ekspansi lainnya). AWT ini sekarang merupakan bagian dari Java Foundation Classes (JFC). API standar untuk menyediakan antarmuka pengguna grafis (GUI) untuk program JavaAWT juga toolkit GUI untukbeberapa profil Java ME.

contoh penggunaan AWT :
import java.awt.*;
public class FlowAp extends Frame{
public static void main(String argv[]){
            FlowAp fa=new FlowAp();
            //Change from BorderLayout default
            fa.setLayout(new FlowLayout());
            fa.setSize(400,300);
            fa.setVisible(true);
    }
    FlowAp(){
                add(new Button("SATU"));
                add(new Button("DUA"));
                add(new Button("TIGA"));
                add(new Button("EMPAT"));
                add(new Button("LIMA"));
                add(new Button("ENAM"));
                add(new Button("TUJUH"));
                add(new Button("DELAPAN"));
                add(new Button("SEMBILAN"));
                add(new Button("SEPULUH"));
        }//End of constructor
}//End of Application
 
 
SWING

Swing adalah bagian utama Java GUI widget toolkit.Swing adalah bagian dari Oracle's Java Foundation Classes (JFC)-API untuk menyediakan  graphical user interface (GUI) untuk program Java. Swing dikembangkan untuk menyediakan satu set yang lebih canggih dari komponen GUI dari Abstract Window Toolkit (AWT). 
 
Contoh penggunaan Swing :
 
public static void main(String[] args) {
        SwingExample se = new SwingExample();
        // Schedules theimport javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; public class SwingExample implements Runnable { @Overridepublic void run() { // Create the window JFrame f = new JFrame ("Hello, World!"); // Sets the behaviour for when the window is closedf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // add a label and a buttonf.getContentPane().add(new JLabel("Hello, world!")); f.getContentPane().add(new JButton("Press me!")); // arrange the components inside the window f.pack(); //By default, the window is not visible. Make it visible. f.setVisible(true); } application to be run at the correct time in the event queue.
        SwingUtilities.invokeLater(se);
    }
}
 

SWT
 
Standard Widget Toolkit (SWT) adalah toolkit widget grafis untuk digunakan dengan platform JavaIni pada awalnya dikembangkan oleh IBM dan sekarangdikelola oleh  Eclipse Foundation in tandem with the Eclipse IDE. Ini adalah sebuah alternatif untuk Window Toolkit Abstrak (AWT) dan Swing Java GUI toolkitsdisediakan oleh Sun Microsystems sebagai bagian dari Java Platform, Standard Edition.
 
Contoh penggunaan SWT :
  
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
 
public class HelloWorld 
{
   public static void main (String[] args) 
  {
      Display display = new Display();
      Shell shell = new Shell(display);
      Label label = new Label(shell, SWT.NONE);
      label.setText("Hello World");
      label.pack();
      shell.pack();
      shell.open();
      while (!shell.isDisposed()) 
      {
         if (!display.readAndDispatch()) display.sleep();
      }
      display.dispose();
   }
}
 
 
 
Sumber? Dari berbagai Sumber tentunya 
 

All About Stream IO

KONSEP DASAR STREAM I/O

Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream)

Contohnya :
-Membaca dan menulis file di dan ke harddisk
-Membaca dan menulis teks ke console
-Membaca dan menulis melalui network


Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial.

Untuk menulis, program mengirim informasi ke tujuan dengan cara membuka stream tujuan, selanjutnya menulis informasi secara sekuensial.

Byte Stream
Terdiri dari Kelas InputStream, OutputStream, beserta turunannya:
  Character Stream :
InputStream dan OutputStream adalah abstract class untuk stream I/O, yaitu untuk membaca dan menulis data dari dan ke file.
Untuk membaca digunakan class yang mengimplementasikan InputStream, contoh : FileInputStream.
Untuk menulis digunakan class yang mengimplementasikan OutputStream, contoh : FileOutputStream.

Contoh = cara membaca File: FileInputStream :
1. Definisikan nama file yang akan dibaca melalui class File, atau nama file lengkap dengan path.
2. Periksa apakah file tersebut ada (exist) dan tipenya adalah file (bukan direktori).
3. Siapkan obyek FileInputStream untuk membaca isi file.
4. Baca input dengan menggunakan method read(), dan bila tidak ada input lagi, FileInputStream memberikan indikator -1 sebagai tanda tidak ada lagidata yang akan dibaca.
5. Gunakan method close() untuk menutup FileStream.

 

Rabu, 10 Agustus 2011

Tips Merawat Batre Laptop

Mungkin beberapa orang banyak yang berpikir batre laptop itu tak akan rusak. jika kita berpikir seperti itu , maka kita salah besar. Batre laptop juga perlu perawatan untuk menjaganya tahan lama dan awet.
Berikut ane beri beberapa tips untuk merawat batre laptop yang benar. Cekidot

1.
Saat Pertama Kali Membeli Laptop, Ces Batrei Skitar 8 - 10 jam, karena batrei yg tidak dipakai dalam jangka waktu lama (digudang) Sebaiknya Di cas terlebih dahulu..
2.
Setiap Menggunakan Laptop lebih baek jika charging battery (di Cas terus, meski sudah Full tetap dicas terus) Karena batrei tipe-tipe BARU SEKARANG mempunyai CONTROLL BATTERY artinya "jika Full, batrei akan stop charging (stand by) jadi laptop otomatis langsung pakai power listrik, Dan Juga Tidak Membuat Batrei Soak/Kembung".
3.
Jangan Melakukan sistem CdC (Charge Discharge) = "Apabila batrei penuh cabut adaptor, Dan setelah habis pasang adaptor" .
4.
Batrei jangan di KALIBRASI (pengosong isi batrei sampai habis 0%) karena banyak effeknya ke batrei (Cycle Count)
5.
Jangan pernah BATREI DILEPAS, apabila tiba-tiba listrik mati perangkat laptop terjadi konsleting (LCD,mobo,dll) dan mengakibatkan kerusakan pada hardware laptop. Selain Itu batrei juga mengontrol arus listrik yg masuk sebelum ke perangkat yg laen.
6.
5 menit Sebelum Memakai laptop charging battery dulu, 5 menit setelah Laptop dimatikan baru cabut adaptor.
7.
Saat Menggunakan Batrei (portabel/tanpa di cas), hindari (Maen Game,Putar DVD/CD,Software2 Grafis Tinggi ). Jika Masih Ada Power Listrk mendingan di cas aja.
8.
Pastikan Suhu Kamar (ruangan) tidak terlalu Panas, karena
suhu yang tinggi berefek menurunkan performa battery (cycle count berkurang)
Karena, suhu adalah musuh bebuyutan battery

KESIMPULAN ane:
• Gunakan laptop seperti cara kerja PC, jika g ada listrik matikan saja
Suatu Saat Kerja Batrei pasti akan menurun, Mending Rusak Batrei Daripada Rusak LAPTOP ato hardware lainnya..

Semoga bisa membantu gan.... 
Sumbernya : http://www.kaskus.us/showthread.php?t=6709845 Lebih detailnya..!


Jumat, 29 Juli 2011

Sikap (Attitude) Menentukan segalanya. Mengapa?

Apa itu sikap dan kenapa sikap menjadi hal penting dalam kehidupan ini?
Sebenarnya banyak cara untuk bisa memahami dan menilai sebuah sikap. Sederhananya begini, ketika kita diperhadapkan pada suatu kenyataan tertentu. Maka respon yang kita tunjukkan itulah sikap kita. Apakah responnya senang, marah, gembira, sedih dan lain sebagainya. Semua itu adalah sikap.

Sebagai contoh,
Misalnya, ketika anda diperhadapkan pada suatu pilihan yang pelik. Dalam rangka memperbaiki kinerja perusahaan tempat anda bekerja. Maka perusahaan melakukan perbaikan-perbaikan disana-sini. Salah satu perbaikan yang berdampak pada karyawan adalah, diperlukan PHK bersyarat.


Perusahaan akan melakukan seleksi ulang kepada seluruh karyawan, tanpa terkecuali. Termasuk anda, yang katakanlah posisi anda saat itu selevel manager. Ada dua pilihan bagi karyawan.

Pilihan Pertama, karyawan di perbolehkan mengikuti seleksi, dengan ketentuan. Jika ia lolos. Maka jabatannya tetap, alias tidak akan di naikkan. Bahkan gajinya dan tunjangannya akan di kurang 10%.(hal ini dilakukan, karena perusahaan mengalami pengeluaran yang lebih besar dari pemasukannya)
Pilihan kedua, jika karyawan tidak bersedia di seleksi ulang, maka karyawan wajib mengundurkan diri dari perusahaan, tanpa mendapatkan pesangon sepeserpun.

Bagaimana sikap anda pertama kali, ketika keputusan itu di umumkan secara resmi oleh perusahaan… ? pilihan pertama, kedua atau anda punya pilihan lain? Terserah anda. semua itu hanya anda yang tahu. Sikap anda menentukan pilihan anda. Hanya anda yang berhak atas diri anda. pilihan anda pada ahirnya memperlihatkan siapakah diri anda sebenarnya.

Sikap adalah refleksi intelektual seseorang dalam merespon suatu persitiwa. Yang pada akhirnya ia mengambil sebuah tindakan. Baik itu peristiwa yang di alami orang lain, maupun yang dialami oleh diri sendiri. Apa dan bagaimana sikapnya, merupakan cerminan. Tentang bagaimana seseorang memposisikan diri dalam persitiwa tersebut.

Kasus di atas hanyalah sepenggal kisah yang bertebaran di muka bumi ini. Kita bisa merasakannya jika kita telah melalui prosesnya serta merasakan makna yang di kandungnya.

Kembali pada contoh kasus di atas. Pilihan pertama memang terkesan ganjil dan tidak enak. Karena walaupun kita berhasil melewatinya dengan sempurna, tetap saja kita tidak mengalami kemajuan, baik dari segi jabatan, maupun dari segi financial. Sementara pilihan kedua lebih pahit dan menyakitkan. Pilihan yang tidak terhormat. Kenapa saya katakana begitu? Sebagai fakta sederhana, kita terbiasa melihat realitas banyaknya demonstrasi maupun perlawanan dari kelompok-kelompok pekerja yang menentang PHK.

Memang ini bagaikan buah simalakama. Tapi apa boleh buat, anda harus memilih. Karena ini berkaitan dengan kehidupan anda, nasib anak dan istri anda, keluarga yang anda cintai.

Ada beberapa alasan untuk memilih. Dari kasus di atas, jika anda setuju dengan pilihan pertama, berarti anda telah menentukan pilihan yang ideal, kenapa?

Begini, perusahaan mengalami kemerosotan financial, merupakan bukti bahwa secara keseluruhan system tidak berjalan dengan baik. Dan anda berada didalamnya. Ini berarti anda ikut bertanggung jawab untuk membenahinya. Jika anda memilih pilihan pertama, berarti anda sudah memberikan sikap bertanggung jawab terhadap perusahaan.

Tapi apa untungnya, toh gaji dikurangi dan jabatan segitu-gitu saja? Anda perlu ingat, bahwa perusahaan melakukan perbaikan untuk menyelamatkan orang banyak, termasuk anda. gaji yang di potong bukan untuk tujuan komersil perusahaan, melainkan berusaha menciptakan sirkulasi keuangan yang seimbang. Dan jabatan yang tidak berubah, karena memang tujuan perusahaan melakukan seleksi untuk memberi kesempatan kepada seluruh karyawannya untuk membuktikan intregritas dan tanggung jawabnya terhadap perusahaan. Satu lagi, jika anda berhasil melewatinya, berarti anda benar-benar orang yang berkualitas di bidangnya.

Namun jika sikap anda jatuh pada pilihan yang kedua, ini berarti sikap anda menolak untuk melakukan intropeksi diri. Pilihan kedua merupakan bukti bahwa selama ini anda tidak memiliki motivasi tinggi dalam memajukan perusahaan. Jika sikap ini anda pertahankan, maka mental anda akan terbiasa untuk takut menghadapii segala kemungkinan. Dimanapun anda bekerja, hasilnya akan sama.

Terkadang ketika ujian menerpa kita. Kita langsung mengalami kesedihan, depresi dan ratapan. Seakan-akan kitalah orang yang paling menderita di muka bumi ini. Padahal sesungguhnya banyak peluang yang tidak kita sadari datang bersamaan dengan datangnya ujian, yang kita anggap sebagai beban yang paling berat.

Sebenarnya semua itu adalah dorongan-dorongan negatif alam bawa sadar kita, yang terbiasa dan paling kuat mempengaruhi kita. sehingga mental kita terbentuk untuk bersikap negatif terhadap sesuatu hal yang belum tentu sesuai dengan apa yang kita anggap negatif.

Jika anda ingin melakukan perubahan, maka mulailah dari sikap. Latih mental anda, biasakanlah berfikira terbuka dan beri kesempatan kepada diri anda untuk menerima hal-hal yang positif. Percayalah semua itu tidak bisa anda lakukan

Rabu, 27 Juli 2011

Tentang JAVA

 

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystem 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 (MVJ). 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 opersai 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.

Sejarah perkembangan 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 Microsystem. 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 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 Microsystem bersama Marc Andress, 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).

Kelebihan JAVA

  • 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, Linux, Mac 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 JAVA

  • 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.

Tahap Kompilasi Java

  1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
  2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
  3. Muat. Pemuat kelas memuat bytecodes ke memori.
  4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
  5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’


Integrated Development Environment

Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?]
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.