Tampilkan postingan dengan label Java Moklet. Tampilkan semua postingan
Tampilkan postingan dengan label Java Moklet. Tampilkan semua postingan

Event Handling

Di postingan saya yang ke 3 ini, saya akan membagi ilmu tentang Event Handling :D

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] (sumber : Sumber Intro 2 Modul 8 JENI)
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. Berikut ini contoh programnya:
Tampilan:
contoh-program-event-handling-java

Program:
01import java.awt.*;
02import java.awt.event.*;
03import javax.swing.*;
04 
05public class ClickMe extends JFrame implements ActionListener {
06    private JButton tombol;
07 
08    public ClickMe() {
09        super ("Event Handling");  
10 
11        Container container = getContentPane();
12        container.setLayout(new FlowLayout());     
13 
14        tombol = new JButton ("Click Me!");
15        tombol.addActionListener(this);
16        container.add(tombol);     
17 
18        setSize (200,100);
19        setVisible (true);
20    }
21 
22    public static void main (String arg[]) {
23        ClickMe test = new ClickMe();
24        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
25    }
26 
27    public void actionPerformed (ActionEvent e) {
28        if (e.getSource() == tombol) {
29            JOptionPane.showMessageDialog(null, "You click me, guys !!!");
30        }
31    }
32}
Selamat mencoba (sumber : http://contohprogram.info/java/contoh-event-handling-di-java.html)

Java GUI

Asalamu'alaikum...
Kita berjumpa lagi di postingan saya yang berikutnya :D
Setelah kita membahas tentang Stream IO, sekarang kita akan membahas tentang Java GUI. Apa itu?? Check this out !!

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.
Sejarah Adapun pada versi awal peluncurannya pada tahun 1996 (selanjutnya disebut versi 1.0), bahasa pemrograman ini menyertakan beberapa paket standar yakni :
  1. java.lang yakni sebuah kelas untuk elemen-elemen dasar
  2. java.io yang merupakan kelas input dan output termasuk penggunaan file
  3. java.util yakni kelas pelengkap seperti kelas struktur data dan kelas penanggalan
  4. java.net yakni kelas TCP/IP (untuk jaringan)
  5. java.awt yakni kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  6. java.applet yakni kelas dasar aplikasi antarmuka untuk browser
Sejak awal dibuatnya oleh Sun Microsystem, Java diorientasikan agar memiliki perangkat bergaya desktop dengan ToolkitJava yang dikenal dengan nama AWT (Abstract Windowing Toolkit). Kemudian pada tahun 1997 muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi Window yang merupakan pengembangan dari AWT. JFC ini mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK versi 1.2 ke atas (Java 2).

GUI (Graphical User Interface) merupakan sebuah teknologi antarmuka pengguna yang memungkinkan seseorang untuk berinteraksi dengan program dengan berbagai cara selain mengetik seperti halnya komputer, MP3 Player dll yang berisikan banyak tombol bergambar/icon dibandingkan teks. GUI yang merupakan kebalikan dari CLI (Command Line Interface) menggunakan icon grafis atau indikator visual untuk kenyamanan user.

Java sendiri menyediakan dua buah pustaka grafis dalam paketnya yaitu AWT dan Swing. Keduanya menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet. Tidak seperti komponen AWT yang menggunakan native code, keseluruhan Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
Terdapat 4 hal yang perlu diperhatikan pada pemrograman GUI ini yaitu :
  1. Container (tempat) yaitu obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil. Contoh : frames, panels.
  2. Component yaitu obyek yang berfungsi untuk menampilkan data, menerima masukan atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields.
  3. Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse, penekanan tombol.
  4. Listener yaitu suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi.
Contoh penerapannya seperti ini : 
Software ini sudah berbasis GUI, karena tampilannya sudah bersahabat oleh user.

Stream IO

Yak , berjumpa lagi dengan saya Yudha :D yang setelah sekian lama tak muncul di blog, haha..
Kali ini saya akan posting tentang bebrapa ilmu atau materi dari JAVA yang saya dapat dari sekolah, SMK Telkom Sandhy Ptra Malang :)

Yang pertama adalah tentang Stream IO..

 A. PENGERTIAN
Sistem IO di Java adalah bagian dari library Java yang bertugas menangani input dan output dalam sebuah program Java. Input dan output ini bentuknya bisa bermacam-macam, di antaranya:
  1. Menangani input dan output dari dan ke standar output
  2. Menangani operasi file (membaca atau menulis file)
  3. Memproses data yang masuk melalui soket, dll
Arsitektur library IO di Java dirancang sedemikian rupa sehingga memudahkan dilakukannya ekstensi terhadap library yang sudah ada. Akan tetapi, rancangan tersebut membuat banyak orang yang baru belajar Java menjadi agak sulit untuk memahami sistem IO ini. Di post ini saya akan mencoba menjelaskan dasar dari sistem IO ini.

Pada dasarnya, membaca atau menulis IO itu adalah melakukan operasi pembacaan dan penulisan array of byte. Untuk urusan input, kelas dasar yang digunakan adalah java.io.InputStream, sementara untuk urusan output yang digunakan adalah kelas java.io.OutputStream. Kedua kelas tersebut merupakan kelas abstrak yang akan menjadi kelas dasar dalam IO di Java. Kelas-kelas yang mengimplementasikan InputStream antara lain AudioInputStream untuk membaca file dalam format audio, ByteArrayInputStream untuk membaca input dalam format byte array.


Walaupun sebenarnya operasi IO adalah operasi pembacaan dan penulisan array of byte, akan tetapi seringkali kita butuh untuk membaca dan menulis dalam format teks. Untuk lebih memudahkan dalam melakukan hal tersebut, Java menyediakan kelas abstrak Reader untuk melakukan operasi pembacaan stream dalam format teks dan kelas abstrak Writer untuk melakukan penulisan dalam format teks. Kelas-kelas yang mengimplementasikan kelas Reader antaranya InputStreamReader, BufferedReader, dan FileReader. (sumber : http://ngodingdulu.wordpress.com/2011/08/07/mengenal-sistem-io-di-java/)

B. KONSEP DASAR
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
 Character Stream

 Cara menggunakan Stream:
-input stream:
  1. Membuat objek yg berasosiasi dengan data source Contoh : FileInputStream
  2. Membaca informasi dari stream dengan menggunakan method objek tersebut Contoh: read()
  3. Bila selesai, panggil method close. 
 -output stream:
  1. Membuat objek yg berasosiasi dg data destination. Contoh : BufferedWriter
  2. Menulis informasi ke stream tujuan dg menggunakan method objek tersebut. Contoh: write() 
  3. Bila selesai, panggil method close.

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.
Hirarki Class InputStream dan OutputStream
InputStream
  • FileInputStream 
  • ByteArrayInputStream 
  • FilterInputStream 
  • DataInputStream 
  • BufferedInputStream 
  • PushbackInputStream 
  • ObjectInputStream 
  • PipedInputStream 
  • SequenceInputStream
 OutputStream
  • FileOutputStream 
  • ByteArrayOutputStream 
  • FilterOutputStream
  • DataOutputStream
  • BufferedOutputStream
  • PrintStream
  • ObjectOutputStream
  • PipedOutputStream 
C. CONTOH PROGRAM

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.


sumber : http://gheasafferina.blogspot.com/2012/03/mengenal-stream-io.html
 

Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
  • Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
  • Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
  • Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in
 

Kontroversi Eclipse

Hadirnya Eclipse di tengah-tengah persaingan IDE, terutama Java IDE, menimbulkan banyak kontroversi. Salah satunya adalah penggunaan user interface Eclipse. Sun Microsystems sebagai perusahaan yang membuat Java, selama ini mengeluarkan dua library untuk pengembangan Graphical User Interface (GUI), yaitu Abstract Windowing Toolkit (AWT) dan Swing. Akan tetapi dalam pembuatan Eclipse, dua library ini ditinggalkan karena berbagai alasan, yang salah satunya adalah kedua library ini tidak memberikan look and feel yang baik. Sehingga untuk hal ini dikembangkanlah GUI-library yang baru, SWT.
Selain itu, Sun yang mempunyai IDE sendiri untuk pengembangan Java bernama NetBeans, menjadi gerah atas kehadiran Eclipse yang sampai saat ini komunitasnya cukup besar[3]. Hal ini terlihat dengan menolaknya Sun untuk bekerja sama dalam Eclipse Foundation, walau telah diundang [4].
Nama Eclipse seolah-olah memberi pesan explisit: cahaya Sun (matahari) yang pancarannya dihalangi oleh Eclipse (gerhana).

Netbeans ..

Apa itu NetBeans?

NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk : NetBeans IDE dan NetBeans Platform.
The NetBeans IDE adalah sebuah lingkungan pengembangan - sebuah kakas untuk pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program. Netbeans IDE ditulis dalam Java - namun dapat mendukung bahasa pemrograman lain. Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah produk bebas dengan tanpa batasan bagaimana digunakan.
Tersedia juga NetBeans Platform; sebuah fondasi yang modular dan dapat diperluas yang dapat digunakan sebagai perangkat lunak dasar untuk membuat aplikasi desktop yang besar. Mitra ISV menyediakan plug-in bernilai tambah yang dapat dengan mudah diintegrasikan ke dalam Platform dan dapat juga digunakan untuk membuat kakas dan solusi sendiri.
Kedua produk adalah kode terbuka (open source) dan bebas (free) untuk penggunaan komersial dan non komersial. Kode sumber tersedia untuk guna ulang dengan lisensi Common Development and Distribution License (CDDL).

Apa itu netbeans.org?

netbeans.org adalah wadah dari komunitas kode terbuka NetBeans yang didedikasikan untuk membangun sebuah IDE kelas dunia. netbeans.org memungkinkan pengguna di lebih dari 160 negara dunia terhubungkan ke sumber daya dan orang di seputar NetBeans. Di sini, Anda dapat mengunduh versi terakhir NetBeans, melihat dokumentasi pendukung secara online, membangun pengetahuan Anda tentang Java, memantau berita, bergabung dengan sebuah mailing list, menyumbangkan koce, belajar tentang orang-orang yang terlibat dengan proyek, melakukan kontak, dan banyak lagi

Bergabung dengan Komunitas NetBeans

Menjadi bagian dari tim NetBeans dan membantu membuat NetBeans jadi lebih baik. Dengan mendaftar Anda akan secara langsung menyumbang kesuksesan NetBeas dan imbalannya Anda akan selalu mendafat informasi terkini seputar proyek NetBeans. Gunakan kotak pendaftaran pada pojok kanan atas halaman ini - pilih sebuah nama pengguna dan bergabung!.

Tetap Mendapatkan Informasi

NetBeans menawarkan beberapa mailing list untuk mengakomodasi berbagai macam ketertarikan atau kepentingan dan memfasilitasi komunikasi antar pengguna NetBeans. Lihat daftar mailing list NetBeans di http://www.netbeans.org/community/lists/index.html untuk mengetahui lebih lanjut mailing list NetBeans.

Program Java

contoh                                                                  01import java.awt.*;
02import java.awt.event.*;
03import javax.swing.*;
04 
05public class SimpleLogin extends JFrame implements ActionListener {
06    private JLabel label1, label2;
07    private JTextField txtUser;
08    private JPasswordField pwdPass;
09    private JButton btnLogin, btnExit;
10 
11    public SimpleLogin() {
12        super ("Login here...");
13 
14        Container container = getContentPane();
15        container.setLayout(new FlowLayout());
16 
17        label1 = new JLabel ("Username : ");
18        label2 = new JLabel ("Password : ");
19 
20        txtUser = new JTextField (20);
21        txtUser.setToolTipText("Input Username");
22        pwdPass = new JPasswordField(20);
23 
24        btnLogin = new JButton ("Login");
25        btnLogin.addActionListener(this);
26        btnExit = new JButton ("Exit");
27        btnExit.addActionListener(this);
28 
29        container.add(label1);
30        container.add(txtUser);
31        container.add(label2);
32        container.add(pwdPass);
33        container.add(btnLogin);
34        container.add(btnExit);
35 
36        setSize (300,200);
37        setVisible (true);
38    }
39 
40    public static void main (String args[]) {
41        SimpleLogin test = new SimpleLogin();
42        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
43    }
44 
45    private String user = "", pass = "";
46    public void actionPerformed (ActionEvent e) {
47        if (e.getSource() == btnLogin) {
48            user = txtUser.getText();
49            pass = pwdPass.getText();
50            if (user.equals("achmatim") && pass.equals("otim")) {
51                JOptionPane.showMessageDialog(null, "Login successfull");
52            } else {
53                JOptionPane.showMessageDialog(null, "Username and password dosn't match!");
54                txtUser.setText("");
55                pwdPass.setText("");
56                txtUser.requestFocus(true);
57            }
58        } else if (e.getSource() == btnExit){
59            JOptionPane.showMessageDialog(null,"Thanks to try my program. See you..");
60            System.exit(0);
61        }
62    }
63}

 Tampilan

 

contoh program pembuat login sederhana ..

 

Konsep OOP di Java


diambil dari situs http://www.master.web.id/

Pemrograman berorientasi objek diciptakan untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Dalam paradigma ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah objek. Objek-objek ini kemudian juga dapat berupa gabungan dari beberapa objek yang lebih kecil. Sebagai contoh, tengoklah sebuah mobil. Mobil adalah sebuah objek dalam kehidupan nyata. Namun mobil sendiri terbentuk dari beberapa objek yang lebih kecil seperti roda ban, mesin, jok, dll. Mobil sebagai objek yang merupakan gabungan dari objek yang lebih kecil dibentuk dengan membentuk hubungan antara objek-objek penyusunnya. Begitu juga dengan sebuah program. Objek besar dapat dibentuk dengan menggabungkan beberapa objek-objek dalam bahasa pemrograman. Objek-objek tersebut berkomunikasi dengan saling mengirim pesan kepada objek lain.

Konsep-konsep pemrograman berorientasi objek dalam Java secara umum sama dengan yang digunakan oleh bahasa-bahasa lain. Jadi kebanyakan konsep yang kita bahas juga terdapat dalam bahasa selain Java. Namun, terkadang terdapat perbedaan-perbedaan kecil antara penerapan konsep-konsep tersebut dalam masing-masing bahasa. Perbedaan-perbedaan ini juga akan dijelaskan seiring penjelasan masing-masing konsep..

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 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.Versi Awal
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.
Kelebihan
• 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 oebjek 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.