Selasa, 29 Mei 2012

Tentang Java


Mungkin sebagian dari kita masih belum familiar dengan istilah Java, padahal tanpa disadari, kebanyakan aplikasi yang berjalan di handphone, terutama game yang dipakai sehari-hari adalah salah satu hasil dari aplikasi Java. Disamping itu, keunggulan lain yang dimiliki oleh java adalah multi platform, artinya setiap aplikasi yang kita bangun menggunakan bahasa Pemrograman Java, maka akan berjalan dengan baik pada sistem operasi apa saja, bisa di sistem operasi Windows, Linux, Unix dan lain-lain. Sebuah keunggulan yang tidak dimiliki oleh bahasa pemrograman yang lain, sehingga tidak heran kalau bahasa pemrograman Java di kenal dengan istilah ”Create once, run anywhere”Lalu, kenapa Java di katakan sebagai teknologi masa depan adalah karena fleksibilitas dan kemudahan menggunakannya serta mampu mencakup keseluruhan aspek pemrograman yang dibutuhkan di masa depan, yaitu :

a)      Dengan Java kita mampu membangun aplikasi yang berbasis server (website misalnya), teknologi ini disebut dengan J2SE (Java versi 2 Standard Edition)



b)      Dengan Java kita mampu membangun aplikasi berbasis Teks maupun Grafik (Graphical User Interface), teknologi ini disebut dengan J2EE (Java versi 2 Enterprise Edition).



c)       Dengan Java kita mampu membangun aplikasi berbasis Mobile, sehingga bisa jalan di Handphone, teknologi ini disebut dengan J2ME (Java versi 2 Micro Edition).


Selain itu ada juga kelebihan nya yaitu:

Sederhana
Bahasa Pemrograman Java Menggunakan sintaks mirip dengan C ++ namun sintaks pada Java telah banyak diperbaiki terutama meghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

Berorientasi objek (Object Oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi anatara objek-objek tersebut.

Dapat didistribusikan dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada java.

Interpreter
Program java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code java yang telah dikompilasi menjadi java bytecodes dapat dijalankan pada platform yang berbeda-beda

Robust
Java mempunyai reliabilitas yang tinggi. Compiler pada java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, java memiliki beberapamekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak system computer yang menjalankan aplikasi tersebut.

Architecture Neutral
Program java merupakan platform independen . program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan java Virtual Machine.

Portabel
Source code maupun program java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

Multithreading
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut.

Membuat Notepad di Java

Notepad merupakan aplikasi untuk menulis dan menyimpan nya kedalam tipe file text atau .txt . Kita bisa membuat aplikasi ini dengan cara sederhana, yang nanti nya mempunyai fungsi hampir sama seperti notepad pada umum, mempunyai fungsi new, open dan tentu juga save.

JFileChooser adalah kelas bawaan pada Java yang memungkinkan kita untuk melakukan browse file.
kita memanfaat kan nya untuk memilih file, baik itu untuk menyimpan atau membuka file nanti nya.



Berikut potongan source code yang digunakan.

1. Untuk Tombol New, source code nya


private void NewfileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NewfileActionPerformed
// TODO add your handling code here:
    TextArea.setText(null);
}//GEN-LAST:event_NewfileActionPerformed


2. Untuk tombol Open, source code nya


private void OpenfileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OpenfileActionPerformed
// TODO add your handling code here:


    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("."));


    chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {


        public boolean accept(File f) {
            return f.getName().toLowerCase().endsWith(".txt")
                    || f.isDirectory();
        }
        public String getDescription() {
            return "File text";
        }
    });


    int r = chooser.showOpenDialog(new JFrame());
    if (r == JFileChooser.APPROVE_OPTION) {
        String name = chooser.getSelectedFile().getName();
        
        File dir = chooser.getCurrentDirectory();


        BufferedReader reader = null;
        StringBuilder buffer = new StringBuilder(1024);
        try {
            reader = new BufferedReader(new FileReader(dir+name));
            String line;
            while ((line = reader.readLine()) != null) {
                buffer.append(line).append("\n");
            }
        } catch (IOException e) {
            // handle
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                // handle
            }
        }


        TextArea.setText(buffer.toString());
    }


3. untuk Tombol Save, source code nya



private void SavefileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SavefileActionPerformed
// TODO add your handling code here:




    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("."));


    chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {


        public boolean accept(File f) {
            return f.getName().toLowerCase().endsWith(".txt")
                    || f.isDirectory();
        }


        public String getDescription() {
            return "File text";
        }
    });
    int r = chooser.showSaveDialog(new JFrame());
    if (r == JFileChooser.APPROVE_OPTION) {
        String name = chooser.getSelectedFile().getName();
        File dir = chooser.getCurrentDirectory();
        File outFile = new File(dir+name);
        FileOutputStream outFileStream = null;
        try {
            outFileStream = new FileOutputStream(outFile);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Tugas_2_supardiantoView.class.getName()).log(Level.SEVERE, null, ex);
        }
        PrintWriter outStream = new PrintWriter(outFileStream);
        outStream.write(TextArea.getText());
        //textarea.append(myBufReader.readLine());
        //myBufReader.close();
        outStream.close();
    }
}//GEN-LAST:event_SavefileActionPerformed