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

Minggu, 16 September 2012

KONVERSI BILANGAN JOPTION PANE

1. tampilan awal dari program ini :
     a. masukkan nama anda :
      b. masukkan gender anda :
       c. pilih konversi :
       d. contoh konversi yang dipilih biner
       e. ini adalah hiasilnya konversi :
         
       f. dan ini adalah kodingnya :
         

package Praktik1;
import javax.swing.JOptionPane;
public class terbilangterpecah {
        private static String name;
    private static String des;
    private static String gender;
    private static String kelamin;
    private static int validDes;
    static StringBuilder binerHasil= new StringBuilder();
    static StringBuilder hexaHasil= new StringBuilder();
    static StringBuilder oktalHasil= new StringBuilder();
    static String sc;
    public static void keBiner(int n){
        if(n>1){
            keBiner(n/2);
        }
        System.out.print(n%2);
        binerHasil.append(n%2);
    }
    public static void keHexa(int n){//int n : parameter
        char[] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        if(n>0){
            keHexa(n/16);
            System.out.print(daftarHexa[n%16]);
            hexaHasil.append(daftarHexa[n%16]);
        }
    }
    public static void keOktal(int n){
        char[] daftarOktal={'0','1','2','3','4','5','6','7'};
        if(n>0){
            keOktal(n/8);
            System.out.print(daftarOktal[n%8]);
        oktalHasil.append(daftarOktal[n%8]);
        }
    }
    public static void inputDesJOption(){
        des=JOptionPane.showInputDialog("masukkan bilangan : ");
        try{
            if(des.isEmpty()){
                JOptionPane.showMessageDialog(null, "bilangan tidak boleh kosong");
                inputDesJOption();
            }
        }
        catch(NullPointerException npa){
            JOptionPane.showMessageDialog(null, "jangan pergi dulu, bilangan masukkan dulu");
            inputDesJOption();
        }
    }
    public static void outHasilBiner(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            System.out.print("\n desimalnya : "+des+" kalau dijadikan biner : ");
            keBiner(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "bilangan desimalnya  : "+des+" kalau dijadikan biner : "+binerHasil, "hasilnya", JOptionPane.PLAIN_MESSAGE);
        }
        catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan merupakan angka!"
                    + "\nmasukkan angka saja");
            outHasilBiner();
        }
    }
    public static void outHasilHexa(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            System.out.print("\n desimalnya : "+des+" kalau dijadikan hexa : ");
            keHexa(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "bilangan desimalnya : "+des+" kalau dijadikan hexa : "+hexaHasil, "hasilnya", JOptionPane.PLAIN_MESSAGE);
        }
        catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan merupakan angka!"
                    + "\nmasukkan angka saja");
            outHasilHexa();
        }
    }
    public static void outHasilOktal(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            System.out.print("\n desimalnya : "+des+" kalau dijadikan oktal : ");
            keOktal(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "bilangan desimalnya : "+des+" kalau dijadikan oktal : "+oktalHasil, "hasilnya", JOptionPane.PLAIN_MESSAGE);
        }
        catch(NumberFormatException nfe){
            JOptionPane.showMessageDialog(null, "'"+des+"'"
                    + " bukan merupakan angka!"
                    + "\nmasukkan angka saja");
            outHasilOktal();
        }
    }
    //menampilkan input dialog nama
    public static void inpNama(){
        name=JOptionPane.showInputDialog("masukkan nama anda : ");
        try{
            if(name.isEmpty()){
                JOptionPane.showMessageDialog(null, "tidak boleh kosong!");
                inpNama();
            }
        }
        catch(NullPointerException npe){
            JOptionPane.showMessageDialog(null, "masukkan nama anda dulu!");
            inpNama();
        }
    }
    //menampilkan input dialog jenis Kelamin (gender)
    public static void jenisKelamin(){
        gender=JOptionPane.showInputDialog("masukkan gender anda L/P) : ");
        try{
            if(gender.isEmpty()){
                JOptionPane.showMessageDialog(null, "gender tidak boleh kosong");
                jenisKelamin();
            }
        }
        catch(NullPointerException npt){
            JOptionPane.showMessageDialog(null, "masukkan gender anda dulu");
            jenisKelamin();
        }
        if ("L".equals(gender)) {
            kelamin="mas bro, ";
        }
        else{
            if("P".equals(gender)){
                kelamin="mbak bro, ";
            }
            else{
                JOptionPane.showMessageDialog(null, "hanya boleh diisi L or P Doang");
                jenisKelamin();
            }
        }
     
    }
    //Terbilang
    String[] angka={"","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh","Delapan","Sembilan","Sepuluh","Sebelas"};
    private String sebut(int x){
        String bilang="";
        int y = x / 100;
        if(y > 0){
            bilang = angka[y]+" Ratus ";
            if(y == 1)bilang="Seratus ";
            x%=100;
        }
        if(x<12)bilang += angka[x];
        else{
            y=x/10;
            x%=10;
            if(y==1)
                bilang +=angka[x] + " Belas";
            else
                bilang += angka[y]+ " Puluh "+ angka[x];
        }
        return bilang;
    }
    private String terbilang(long  x){
        int y;
        String bilang="";
        String[] satuan={""," Ribu "," Juta "," Milyar "," Trilyun "," Quadrilyun "," Quintilyun "};
        if(x > Math.pow(10, 20)) return "Bilangan terlalu besar";
        for(int i=6;i>0;i--){
            y =  (int) (x/Math.pow(10, i*3));
            if(y > 0){
                if(y==1 && i==1) bilang += " Seribu "; else bilang += sebut(y) + satuan[i];
            } x %= Math.pow(10, i*3);
        }
        bilang+=sebut((int)x);
        return bilang;
    }
    public static void outTerbilang(){
    sc = JOptionPane.showInputDialog("lebokno ongko seng kate disebutno : ");
    JOptionPane.showMessageDialog(null, new terbilangterpecah().terbilang(new Long(sc)), "TERCELUK", JOptionPane.INFORMATION_MESSAGE);
    }
    public static void hasilPecahan(){
        int desimal;
     
        String str=JOptionPane.showInputDialog("lebokno ongko seng katene dipecah : ");
        desimal=Integer.parseInt(str);
        int satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, sepuluh, sebelas, duabelas, tigabelas;
        //
        satu=desimal/100000;
        desimal%=100000;
     
        dua=desimal/50000;
        desimal%=50000;
     
        tiga=desimal/20000;
        desimal%=20000;
     
        empat=desimal/10000;
        desimal%=10000;
     
        lima=desimal/5000;
        desimal%=5000;
     
        enam=desimal/2000;
        desimal%=2000;
     
        tujuh=desimal/1000;
        desimal%=1000;
     
        delapan=desimal/500;
        desimal%=500;
     
        sembilan=desimal/200;
        desimal%=200;
     
        sepuluh=desimal/100;
        desimal%=100;
     
        sebelas=desimal/50;
        desimal%=50;
     
        duabelas=desimal/10;
        desimal%=10;
     
        tigabelas=desimal/1;
        desimal%=1;
 
 
            JOptionPane.showMessageDialog(null,"Jumlah seratus ribuan = "+satu
                                        +"\nJumlah lima puluh ribuan = "+dua
                                        +"\nJumlah dua puluh ribuan = "+tiga
                                        +"\nJumlah sepuluh ribuan = "+empat
                                        +"\nJumlah lima ribuan = "+lima
                                        +"\nJumlah dua ribuan = "+enam
                                        +"\nJumlah seribuan = "+tujuh
                                        +"\nJumlah lima ratusan = "+delapan
                                        +"\nJumlah dua ratusan = "+sembilan
                                        +"\nJumlah seratusan = "+sepuluh
                                        +"\nJumlah lima puluhan = "+sebelas
                                        +"\nJumlah lima satuan = "+duabelas
                                        +"\nJumlah satuan = "+tigabelas
                                        , "PECAHAN", JOptionPane.INFORMATION_MESSAGE);
    }
    public static void kembaliMenu(){
        inpNama();
        jenisKelamin();
    }
    public static void menuJOption(){
        inpNama();
        jenisKelamin();
        String[] pilihan = {"[BINER]", "[HEXA]", "[OKTAL]", "[TERBILANG]", "[PECAHAN]", "<BACK>", "<EXIT!!>"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                    
                             , "selamat datang "+kelamin+name+" !!"
                                + "\n silahkan pilih konversi"// Pesan
                             , "Konversi bilangan"               // Judul di Tittlebar
                             , JOptionPane.YES_NO_OPTION  // Tipe Option
                             , JOptionPane.PLAIN_MESSAGE  // Tipe Pesan
                             , null                    
                             , pilihan  
                             , null    // Default button
                           );
            switch(response){
                case 0:
                    outHasilBiner();
                    break;
                case 1:
                    outHasilHexa();
                    break;
                case 2:
                    outHasilOktal();
                    break;
                case 3:
                    outTerbilang();
                    break;
                case 4:
                    hasilPecahan();
                    break;
                case 5:
                    kembaliMenu();
                    break;
                case 6:
                case -1:
                    System.exit(0);
                default:
                    JOptionPane.showMessageDialog(null, "responmu salah"
                                                    + response); break;
            }
        }
    }
    public static void main(String[] args){
        menuJOption();
    }
}

NB : jangan lupa kata2 terbilangterpecah dengan nama file anda. dan jangan lupa di coba.


         

Selasa, 04 September 2012

KONVERSI BILANGAN DI JAVA

1. tampilan input nama anda pada JOption.

 2. tampilan pilihan gender anda pada JOption.

 3. tampilan pilihan menu konversi.

4. tampilan menu 1.


5. tampilan hasil menu 1
6. iini adalah kodingnya.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praktik1;
import java.util.Scanner;
import javax.swing.JOptionPane;


/**
 *
 * @author Roni
 */
public class konversibilangan2 {
    static String name;
    static String kelamin;
    static int bilDes;
public static void Biner(int n){
    if(n>1){
        Biner(n/2);
    }
    System.out.print(n%2);
}
public static void Hexa(int n){
    char[] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    if(n>0){
        Hexa(n/16);
        System.out.print(daftarHexa[n%16]);
    }
}
public static void Oktal(int n){
    char[] daftarOktal={'0','1','2','3','4','5','6','7'};
    if(n>0){
        Oktal(n/8);
        System.out.print(daftarOktal[n%8]);
    }
}
public static void inputDes(){
    System.out.print("Masukkan Bilangan Desimal = ");
    Scanner inputan=new Scanner(System.in);
    bilDes=inputan.nextInt();
}
public static void tampilBiner(){
    inputDes();
    System.out.print("Binernya adalah ");
    Biner(bilDes);
}
public static void tampilHexa(){
    inputDes();
    System.out.print("Hexanya adalah ");
    Hexa(bilDes);
}
public static void tampilOktal(){
    inputDes();
    System.out.print("Oktalnya adalah ");
    Oktal(bilDes);
}
public static int inpBil(){
    System.out.println("=========================="
            + "\nYey, Selamat datang "+name+"( "+kelamin+" )"+",");
    System.out.println("Silahkan memilih Menu Konversi "
            + "Bilangan ke : "+
            "\n1. Biner \n2. Hexa \n3. Oktal \n4. Exit"
            );
    System.out.print("Masukkan Angka Menu = ");
    Scanner inputan = new Scanner(System.in);
    int pilmenu=inputan.nextInt();
    return pilmenu;
}
public static void menU(int pil){
    System.out.println("\033"); //clean sreen
    switch(pil){
        case 1 : tampilBiner(); break;
        case 2 : tampilHexa(); break;
        case 3 : tampilOktal(); break;
        case 4 : System.out.println("Terimakasih sudah mampir :)");
            System.exit(0); break;
        default : System.out.println("(Maaf. Pilih angka 1-4 saja)");
        break;
    }
    System.out.println("\033");
}
public static void main(String arg[]){
    name=JOptionPane.showInputDialog("Masukkan nama Anda : ");//menampilkan input dialog untuk memasukkan nama
    //menampilkan Option Dialog untuk memilih jenis kelamin
        String[] choices = {"Perempuan", "Laki-Laki", "Quit"};
       
        String Perempuan="Perempuan";
        String Laki="Laki-Laki";
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Apa jenis kelamin Anda ?"    // Pesan
                             , "Jenis Kelamin"               // Judul di Tittlebar
                             , JOptionPane.YES_NO_OPTION  // Tipe Option
                             , JOptionPane.QUESTION_MESSAGE  // Tipe Pesan
                             , null                      
                             , choices    
                             , "Exit"    // Default button
                           );
        switch(response){
            case 0 : kelamin=Perempuan;
                break;
            case 1 : kelamin=Laki;
                break;
            default : kelamin="Tidak Ada";
        }
    do{
        menU(inpBil());
    }
    while(true);
        }
}
}



Jumat, 10 Agustus 2012

Kombinasi 3 inputan Scanner, BufferedReader , JOptionPane JAVA


1.masukkan Bilangan pertama yang akan di jumlahkan

2. tekan enter
3. masukkan Bilangan ke dua

4. tekan Enter

5. Minimize NetBeans anda jika dalam keadaan(MAXIMIZE)
6. Lalu terdapat input box dan masukkan bilangan ketiganya(bilangan pembagi)

7. masukkaan bilangan ke tiga atau pembagi

8. tekan enter
9. Hasilnya

dan berikut adalah coding JAVANYA !!

package praktikumjava;

import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import javax.swing.JOptionPane;

public class kombinasi_3_inputan {
    public static void main (String[] args) {
      &nbrp;  BufferedReader dataIn = new BufferedReader (new InputStreamReader(System.in));
        String fn = "";
        System.out.println ("massukkan bilangan pertama : ");
        Scanner input = new Scanner (System.in);
        String sn = input.nextLine();
        System.out.println("masukkan bilangan ke dua : ");
        String tn = JOptionPane.showInputDialog("Masukkan Bilangan Ketiga");
         try {
            fn = dataIn.readLine();
         
        }
        catch(IOException e) {
            System.out.println("Error!");
        }
       
         int hasil1 = Integer.parseInt(fn);
         int hasil2 = Integer.parseInt(sn);
         int sum = hasil1 + hasil2 ;
         int hasil3 = Integer.parseInt(tn);
         int jawab = sum / hasil3 ;
               
       
         JOptionPane.showMessageDialog (null, "Jawabannya adalah " +jawab, "Jawaban", JOptionPane.PLAIN_MESSAGE) ;
     
       
    }
}

di postkan oleh : Roni Wibowo

Kamis, 02 Agustus 2012

Susunan Kode Sumber .java


Susunan Kode Sumber .java
Dalam mengembangkan program Java, Anda menulis class dan class. Class ini ditulis
dalam kode sumber yang disimpan sebagai file teks biasa berekstension .java.
Dalam file .java, dapat dideklarasikan :
1. package
2. import
3. satu atau lebih class
Deklarasi Package
Deklarasi package digunakan untuk mengelompokkan class-class. Sebuah package dapat
mempunyai satu atau lebih sub-package ini sehingga dapat menyusun sebuah hirarki.
Tata cara penulisan :
package <namapackage>.<namasubpackage>.<namasubsubpackage>;
Contoh deklarasi package adalah :
package java.awt;
atau
package org.apache.tomcat.core;
atau
package net.developerforce.relieve.dataaccess;
Deklarasi package bersifat opsional, tidak harus ada. Tanpa deklarasi package maka sebuah class
dikelompokkan ke dalam default package.
Deklarasi Import
Deklarasi import, bersifat opsional, digunakan untuk menunjukkan package atau class
yang digunakan dalam sebuah program Java.
Contohnya adalah :
import java.io.RandomAccessFile;
import java.net.*;
Deklarasi import tidak akan menjadikan class atau package yang Anda cantumkan digabungkan
dengan program Anda saat kompilasi atau saat diluncurkan. Deklarasi import digunakan untuk
menunjukkan java atau javac dalam menemukan class yang Anda gunakan.
Deklarasi Class
Deklarasi class merupakan kandungan utama sebuah file berekstension .java. Deklarasi
class terutama memuat :
1. nama class, bisa dilengkapi dengan kendali akses, deklarasi extends maupun deklarasi
implements. Pola yang lumrah adalah :
2. public class ClassName
3. extends SuperClassName

4. implements Interface1Name, Interface2Name, Interface3Name
5. constructor, yang dipanggil pada saat dibuat instans dari class.
6. deklarasi variabel-variabel
7. deklarasi prosedur-prosedur, yang di dalam Java disebut method.
Contoh
Berikut adalah sebuah contoh sebuah kode sumber untuk class DataAccessPatient. Class
ini bertanggung jawab untuk menyimpan obyek Patient ke sistem basis data.
package net.developerforce.relieve.dataaccess;
import java.sql.*;
import net.developerforce.relieve.value.Patient;
public class DataAccessPatient
{
private Connection conn;
public DataAccessPatient(Connection conn)
{
this.conn = conn;
}
public void insertPatient(Patient patient)
throws SQLException
{
String insertStr =
"INSERT INTO PATIENTTBL "
+ " VALUES("
+ "'" + patient.getId() + "'"
+ ","
+ "'" + patient.getName() + "'"
+ ","
+ "'" + patient.getIc() + "'"
+ ","
+ "'" + patient.getAddress() + "'"
+ ","
+ "'" + patient.getTelephone() + "'"
+ ","
+ "'" + patient.getEmail() + "'"
+ ")";
Statement stmt = conn.createStatement();
stmt.executeUpdate(insertStr);
}
public void updatePatient(Patient patient)
throws SQLException
{
String updateStr =
"UPDATE PATIENTTBL "
+ "SET "
+ "NAME = '" + patient.getName() + "',"
+ "IC = '" + patient.getIc() + "',"
+ "ADDRESS = '" + patient.getAddress() + "',"
+ "TELEPHONE = '" + patient.getTelephone() + "',"

+ "EMAIL = '" + patient.getEmail() + "' "
+ "WHERE "
+ "ID = '" + patient.getId() + "'";
Statement stmt = conn.createStatement();
stmt.executeUpdate(updateStr);
}
public Patient selectPatientWhereIdEquals(String id)
throws SQLException
{
String selectStr =
"SELECT ID, NAME, IC, ADDRESS, TELEPHONE, EMAIL "
+ "FROM PATIENTTBL "
+ "WHERE ID = '" + id + "'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(selectStr);
if(rs.next())
{
return new Patient (
rs.getString("ID"),
rs.getString("NAME"),
rs.getString("IC"),
rs.getString("ADDRESS"),
rs.getString("TELEPHONE"),
rs.getString("EMAIL")
);
}
else
{
return null;
}
}
}
Dengan mengamati kode sumber DataAccessPatient, Anda dapat menemukan bahwa
1. Package dari class ini adalah net.developerforce.relieve.dataaccess, sesuai dengan
deklarasi package yang ada yaitu :
2. package net.developerforce.relieve.dataaccess;
3. Import yang dilakukan class ini adalah mencakup package java.sql dan sebuah class
net.developerforce.relieve.value.Patient, sestai dengan deklarasi import yang bisa
ditemukan :
4. import java.sql.*;
5. import net.developerforce.relieve.value.Patient;
Anda bisa saja membuang deklarasi import, dan sebagai penggantinya Anda menuliskan
deklarasi class-class yang digunakan secara lengkap. Bandingkan perubahan yang terjadi
dalam potongan berikut :
package net.developerforce.relieve.dataaccess;
public class DataAccessPatient
{
private java.sql.Connection conn;

public DataAccessPatient(java.sql.Connection conn)
{
...
}
public void
insertPatient(net.developerforce.relieve.value.Patient patient)
throws java.sql.SQLException
{
...
java.sql.Statement stmt = conn.createStatement();
...
}
public void
updatePatient(net.developerforce.relieve.value.Patient patient)
throws java.sql.SQLException
{
...
java.sql.Statement stmt = conn.createStatement();
...
}
public Patient selectPatientWhereIdEquals(String id)
throws java.sql.SQLException
{
...
java.sql.Statement stmt = conn.createStatement();
java.sql.ResultSet rs = stmt.executeQuery(selectStr);
if(rs.next())
{
return new net.developerforce.relieve.value.Patient (
...
);
}
...
}
}
Anda boleh membuang deklarasi import tetapi sebagai penggantinya Anda harus
mendeklarasikan class-class yang digunakan secara lengkap : Connection sebagai
java.sql.Connection, Statement sebagai java.sql.Statement, ResultSet sebagai
java.sql.ResultSet dan Patient sebagai net.developerforce.relieve.value.Patient.
6. Deklarasi class yang ada dalam kode sumber ini adalah :
7. public class DataAccessPatient
Menunjukkan bahwa class DataAccessPatient diturunkan dari java.lang.Object dan
bukan dari class lain.

8. Untuk meng-instatiate class DataAccessPatient dibutuhkan parameter bertipe
java.sql.Connection, sebagaimana deklarasi constructor :
9. public DataAccessPatient(Connection conn)
10. {
11. ...
12. }
13. Class ini mempunyai satu variable yang dideklarasikan sebagai :
14. private Connection conn;
15. Class DataAccessPatient mendeklarasikan tiga method :
16. public void insertPatient(Patient patient)
17. throws SQLException
18. {
19. ...
20. }
21.
22. public void updatePatient(Patient patient)
23. throws SQLException
24. {
25. ...
26. }
27.
28. public Patient selectPatientWhereIdEquals(String id)
29. throws SQLException
30. {
31. ...
32. }






Komponen-komponen JAVA



• JVM (Java Virtual Machine)
Java dapat berjalan pada sebuah sistem operasi membutuhkan Java Virtual
Machine (JVM). JVM sendiri terdiri dari Java Runtime Environment
(JRE) dan Java Development Kit (JDK). Sun Microsystems mengeluarkan
tiga kelas paket Java, yaitu J2-SE JRE (hanya berisi JRE), J2- SE SDK
(berisi JDK + JRE), dan J2-EE SDK (berisi JDK+JRE dan tools untuk aplikasi
enterprise). Untuk versi SE (Standard Edition) tersedia gratis pada situs
www.java.com.
• IDE (Integrated Development Environment)
IDE (Integrated Development Environment) adalah sebuah editor
pemrograman sebuah bahasa. Untuk Java sendiri ada banyak IDE yang
tersedia dipasaran baik yang bersifat gratis (freeware) ataupun yang
berbayar. Beberapa IDE yang populer antara lain, JCreator
(www.jcreator.com), Netbeans (www.netbeans.org), JBuilder
(www.borland.com/jbuilder), dan lain-lain.
• Class
Unit yang paling mendasar dalam pemrograman java adalah class. Class
adalah komponen aplikasi yang menangani kode dan data dalam
pemrograman java.

Kamis, 19 Juli 2012

History of 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 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 |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.
       Bahasa pemrograman Java terlahir 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 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 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).






tagged from : http://id.wikipedia.org/wiki/Java