Tampilkan postingan dengan label All about Java. Tampilkan semua postingan
Tampilkan postingan dengan label All about Java. Tampilkan semua postingan

Selasa, 11 September 2012

Membuat menu dengan menggunakan Java JOptionPane


Haloo semuanya...
Kali ini vicky akan mengajari bagaimana sih membuat menu Java menggunakan JoptionPane
Menu ini akan berisi konversi bilangan desimal-biner desimal-hexa desimal-oktal lalu juga ada terbilang dengan menyebutkan angka dan pecahan untuk memaparkan suatu bilangan.
setelah itu kita akan membuat pilihan untuk kembali ke awal serta pilihan keluar(exit)
Ayo kita liat coding nya

public class MenuDariJOption {
    private static String name;
    private static String des;
    private static int validDes;
    private static String jeniskelamin;
    private static String panggilan;
    private static String bil;
    static StringBuilder binerHasil= new StringBuilder();
    static StringBuilder hexaHasil= new StringBuilder();
    static StringBuilder oktalHasil= new StringBuilder();

Setelah itu masukkan script untuk  konversi bilangan :
public static void keBiner(int n){
        if(n>1){
            keBiner(n/2);
        }
        binerHasil.append(n % 2);
    }
    public static void keHexa(int n){
        char[] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int sisaBagi = n % 16;
    if (n > 0) {
        keHexa((n - sisaBagi) / 16);
        hexaHasil.append(daftarHexa[n % 16]);
    }
    }
    public static void keOktal(int n){
        int sisaBagi = n % 8;
    if (n > 0) {
        keOktal((n - sisaBagi)/8);
        oktalHasil.append(n % 8);
    }
    }

Lalu masukkan script untuk  inputan angkanya :
public static void inputDesJOption(){
        des=JOptionPane.showInputDialog("Masukkan Bil. Desimalnya = ");
        try{
            if(des.isEmpty()){
                JOptionPane.showMessageDialog(null, "Isi dengan angka dulu!!");
                inputDesJOption();//kembali input angka
            }
        }catch(NullPointerException npa){
            JOptionPane.showMessageDialog(null, "Isi dulu dong!!");
            inputDesJOption();
        }
    }

Masukkan juga script untuk mengeluarkan hasil konversinya, di sini hasil konversi akan ditampilkan pada sebuah message dialog. :
public static void outHasilBiner() {
        inputDesJOption();
        try {
            validDes = Integer.parseInt(des);
            keBiner(validDes);
            JOptionPane.showMessageDialog(null, "Desimal : " + des + " binernya adalah : " + binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
            binerHasil = new StringBuilder();
       
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'" + des + "'"
                    + " bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilBiner();
        }
    }
    public static void outHasilHexa() {
        inputDesJOption();
        try {
            validDes = Integer.parseInt(des);
            keHexa(validDes);
            JOptionPane.showMessageDialog(null, "Desimal : " + des + " hexanya adalah : " + hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
            hexaHasil = new StringBuilder();
       
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'" + des + "'"
                    + " bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilHexa();
        }
    }
    public static void outHasilOktal() {
        inputDesJOption();
        try {
            validDes = Integer.parseInt(des);
            keOktal(validDes);
            JOptionPane.showMessageDialog(null, "Desimal : " + des + " oktalnya adalah : " + oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
            oktalHasil = new StringBuilder();
       
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'" + des + "'"
                    + " bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilOktal();
        }
    }
Lalu masukkan script untuk menginputkan nama dan jenis kelamin :
public static void inpNama(){
        name=JOptionPane.showInputDialog("Masukkan Nama Anda :");
        try{
            if(name.isEmpty()){
                JOptionPane.showMessageDialog(null, "Nama tidak boleh kosong!!");
                inpNama();//kembali input nama
            }
        }catch (NullPointerException npe){
            JOptionPane.showMessageDialog(null, "Diisi nama dulu dong!!");
            inpNama();//kembali input nama
        }
    }
    public static void jeniskelamin(){
    jeniskelamin=JOptionPane.showInputDialog(
"Masukan Jenis Kelamin (cowok/cewek)");
    try{
            if(jeniskelamin.isEmpty()){
                JOptionPane.showMessageDialog(null, "Harus diisi lho!!");
                jeniskelamin();
            }
        }
        catch(NullPointerException npt){
            JOptionPane.showMessageDialog(null, "Isi dulu dong!!");
            jeniskelamin();
        }
    if ("cowok".equals(jeniskelamin)) {
            panggilan="Agan, ";
        }
        else{
            if("cewek".equals(jeniskelamin)){
                panggilan="Aganwati, ";
            }
            else{
                JOptionPane.showMessageDialog(null, "Hanya bisa diisi cowok dan cewek!!");
                jeniskelamin();
    }
    }
    }
Seperti saya jelaskan di atas, ada option untuk terbilang dan pecahan. Berikut script-nya :
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() {
        bil = JOptionPane.showInputDialog("Masukan Bilangan yang akan disebut : ");
        try {
            if (bil.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Isi dulu dengan bilangan !!");
                outTerbilang();
            } else {

                JOptionPane.showMessageDialog(null, new MenuDariJOption().terbilang(new Long(bil)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
            }
        } catch (NullPointerException not) {
            JOptionPane.showMessageDialog(null, "Harus diisi dulu !!");
            outTerbilang();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "'" + bil + "'"
                    + " bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outTerbilang();
        }
    }
    public static void hasilPecahan() {
        int desimal;

        String str = JOptionPane.showInputDialog("Masukkan bilangan yang akan dipecah : ");
        try {
            if (str.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Kok kosong ?? Isi dulu ya.. !!");
                hasilPecahan();
            } else {

                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);
            }
        } catch (NullPointerException not) {
            JOptionPane.showMessageDialog(null, "Isi dulu bilangannya !!");
            hasilPecahan();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "'" + str + "'"
                    + " bukan angka !!"
                    + "\nMasukkan angka saja !!");
            hasilPecahan();
        }
    }
Setelah itu, masukkan script berikut untuk option kembali (mulai kembali dari mengisi nama) :
public static void kembaliMenu(){
        inpNama();
        jeniskelamin();
    }
Selanjutnya masukkan script untuk menampilkan menu-nya :
public static void menuJOption(){
        //... Text untuk tombol.
        inpNama();
        jeniskelamin();
        String[] pilihan = {"Biner", "Hexa", "Oktal", "Terbilang", "Pecahan", "Kembali", "<<KELUAR>>"};
        //... "Infinite" loop, selesai jika System.exit(0)
        while (true) {
            int response = JOptionPane.showOptionDialog(null //Tengah window.
                    , "Selamat Datang "+panggilan+" "+name+" !! "
                    + "\nPilih Konversi Bilangan di bawah ini!"//pesan
                    , "Konversi Bilangan" // Judul Bar
                    , JOptionPane.YES_NO_OPTION //tipe pilihan
                    , JOptionPane.PLAIN_MESSAGE //tipe pesan
                    , null // icon (none)
                    , pilihan //tombol text
                    , null //label tombol default
                    );
            //menggunakan switch untuk mengecek tombol yg ditekan.
            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:
                    //... antara tombol (6) dan close box(-1) ditangani di sini.
                    System.exit(0); //keluar looping, tapi..
                default:
                    //... jika kita di sini ada kesalahan,
                    JOptionPane.showMessageDialog(null, "response salah "+ response);break;
            }
        }
    }
Dan terakhir masukkan script berikut. Script yang pendek, tapi paling penting :
public static void main(String[] args) {
        menuJOption();
    }
}
Ini contoh dari output pecahan


Ini contoh putput terbilang

 Selamat mencoba :D

Senin, 13 Agustus 2012

Kombinasi 3 kelas Inputan Di Java (Scanner,BufferedReader,JOptionPane)

Kita liat codingnya :)


package PraktikumJava;

    import java.util.Scanner
           
    import javax.swing.JOptionPane;

    import java.io.BufferedReader;

    import java.io.InputStreamReader;

    import java.io.IOException;
public class Kombinasi3class {
   
     public static void main(String[] args){
               *inputkan nama di Buffered
                BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
               
                String nama = "";
               *Masukkan nama
                System.out.print("Masukkan Nama: ");

                try {nama = dataIn.readLine();}

                catch (IOException e){

                System.out.println("Error!");}
               *Menampilkan nama
                System.out.println("Hallo " +nama + "'");
           *next masukin angka lewat scanner
            int tambah,angka1,angka2,angka3;

            Scanner input=new Scanner(System.in);

            System.out.println("Penjumlahan");
           
            System.out.println("------------------------------");
           
            System.out.println("Silahkan Masukkan Angka Pertama :");
            *Angka Pertama masuk dalam Variabel angka1
            angka1=input.nextInt();
           
            System.out.println("Silahkan Masukkan Angka Ke Dua :");
            *Angka Kedua masuk dalam Variabel angka2
            angka2=input.nextInt();
             *Masukin Angka ketiga lewat JOptionPane 
            String fn = JOptionPane.showInputDialog("Silahkan Masukkan Angka Ketiga :");
               
            angka3 = Integer.parseInt(fn);
             *di jumlahkan
            tambah=angka1 +angka2 +angka3;
              *output lewat ShowMessageDialog 
            JOptionPane.showMessageDialog(null, "jawaban " +tambah, "jawaban", JOptionPane.PLAIN_MESSAGE);

            System.out.println("Hasil: " +tambah);
           
            System.out.println("-----------SELESAI------------");
     }
}

Jumat, 27 Juli 2012

Sekilas Java


Akhmad Daniel Sembiring
Java adalah sebuah bahasa pemrograman komputer berbasiskan kepada Object Oriented Programming. Java diciptakan setelah C++ dan didesain sedemikian sehingga ukurannya kecil, sederhana, dan portable (dapat dipindah-pindahkan di antara bermacam platform dan sistem operasi). Program yang dihasilkan dengan bahasa Java dapat berupa applet (aplikasi kecil yang jalan di atas web browser) maupun berupa aplikasi mandiri yang dijalankan dengan program Java Interpreter. Contoh program yang ditulis dengan bahasa Java adalah HotJava yang berupa sebuah web browser.

1.     Platform independence

Salah satu keunggulan Java adalah sifatnya yang 'platform independence', artinya Java - baik source program maupun hasil kompilasinya - sama sekali tidak bergantung kepada sistem operasi dan platform yang digunakan.  Source code sebuah aplikasi dengan bahasa Java yang ditulis di atas sistem Windows NT misalnya, dengan gampang dapat dipindahkan ke sistem operasi UNIX tanpa harus mengedit satu baris kode-pun. Ini tentunya merupakan satu nilai tambah tersendiri. Bandingkan dengan bahasa C/C++ misalnya, jika kita bekerja pada UNIX FreeBSD dan ingin memindahkannya pada HP UNIX, kita terkadang harus juga mengedit source code-nya sehingga sesuai dengan HP UNIX, walaupun keduanya masih berada dalam keluarga UNIX.
Dan yang lebih hebat lagi, bukan hanya source code-nya saja yang bisa dipindah-pindahkan antar sistem komputer, bahkan hasil kompilasinya pun bisa dijalankan di berbagai sistem komputer. Hal ini dimungkinkan dengan adanya bytecode. Setiap program yang ditulis dengan bahasa Java, hasil kompilasinya berupa bytecode, yaitu sekumpulan instruksi yang kelihatannya seperti kode mesin (machine code) tapi tidak spesifik untuk satu jenis prosesor tertentu.

Hal yang berbeda terjadi pada lingkungan Java. Lingkungan Java terdiri dari dua bagian yaitu Java compiler dan Java interpreter. Java compiler menterjemahkan source code kedalam bytecode. Hasil kompilasi, yaitu program Java (berekstensi class), akan bisa dijalankan dengan bantuan Java interpreter. Java interpreter dapat dijalankan langsung (dari command prompt) maupun dari program applet viewer atau web browser (untuk applet). Kenapa harus bersusah payah menambahkan satu layer bytecode interpreter? Jawabnya adalah untuk memungkinkan program Java bisa dijalankan pada bermacam-macam sistem komputer asalkan pada sistem komputer itu terdapat Java interpreter.
Kelemahan dari penggunaan bytecode adalah kecepatan operasi yang lebih lambat daripada program-program biasa. Hal ini karena program-program yang ditulis pada bahasa pemrograman yang hardware-specific dapat langsung berjalan di atas hardware dimana ia dikompilasi.. Program bytecode harus diterjemahkan terlebih dahulu oleh interpreter baru dijalankan di atas hardware.
Karena keunggulan-keunggulan di atas, program Java sangat baik digunakan untuk aplikasi internet maupun intranet, mengingat komunitasi internet dan intranet biasanya menggunakan sistem operasi dan platform yang sangat berbeda-beda dalam mendapatkan dan memberikan informasi.

2.     Memulai Java

Untuk bisa memulai menggunakan Java, minimal kita harus terlebih dahulu menginstall Java Development Kit yang dapat di-download dengan gratis dari http://java.sun.com. Dapat juga digunakan program developent tools Java lainnya yang memiliki fasilitas yang lebih lengkap seperti Symantec Café, Borland J Builder, Microsoft Visual J++, dan lainnya.
Seperti telah diterangkan di atas, hasil kompilasi Java dapat berupa aplikasi maupun applet. Aplikasi merupakan hasil kompilasi program Java yang dapat langsung dijalankan dari command prompt dengan bantuan program java interpreter, sedangkan applet harus dijalankan di atas browser atau appletviewer. Perbedaan applet dan aplikasi Java terletak pada penurunannya dari class Applet. Perhatikan contoh di bawah ini:
Aplikasi Java

class JavaPertama {
  public static void main (String args[]) {
    System.out.println("Halo, ini ¿   
     Aplikasi java saya yang pertama!");
  }
}
Aplikasi Java
import java.awt.Graphics;
public class JavaAppletPertama extends ¿ java.applet.Applet {
   public void paint(Graphics g) {
       g.drawString ("Ini applet java ¿
      ku yang pertama!",5, 25);
   }
}

Pada aplikasi Java, kita membuat sebuah class baru yang bukan merupakan turunan dari class apapun. Apa yang akan dikerjakan oleh aplikasi tersebut terletak di dalam prosedur main. Dalam contoh di atas, aplikasi akan mencetak tulisan “Halo, ini Aplikasi java saya yang pertama!” pada layar monitor (diwakili oleh objek System.out). Setelah dikompilasi kita akan mendapatkan bytecode yang berada dalam bentuk file  dengan ekstensi class. Hal yang perlu diperhatikan adalah bahwa:
1.       nama file source code harus sama dengan nama class yang didefinisikan di atas (dalam hal ini JavaPertama.java)
2.       penamaan dan penulisan syntaks dalam Java adalah case sensitive
3.       nama file bytecode hasil kompilasi sama dengan nama class yang didefinisikan (dalam hal ini JavaPertama.class)
Sedangkan pada applet terdapat baris class JavaAppletPertama extends java.applet.Applet yang menentukan bahwa class yang baru kita buat (JavaAppletPertama) merupakan turunan dari class Applet yang berada pada paket java.applet. Salah satu yang menarik dari Java adalah telah tersedianya sedemikian banyak class yang siap pakai dan tinggal diturunkan (baca: digunakan) untuk membuat applet maupun aplikasi baru. Kumpulan class-class ini disimpan dalam suatu paket yang diakses dengan memanggil nama paket yang bersangutan. Paket-paket ini telah meliputi paket bahasa Java dasar (java.lang), paket abstraksi window dan objek-objeknya (java.awt), sampai dengan paket networking TCP/IP (java.net).
Setelah diturunkan dari class Applet, class yang baru akan secara otomatis memiliki sifat (attribute) dan kelakuan (behaviour) yang sama dengan class Applet. Namun class Applet ini baru hanya merupakan template untuk pembuatan applet-applet baru. Kita harus melakukan modifikasi (istilahnya overriding) terhadap prosedur dan fungsi yang tersedia dari class Applet. Salah satu prosedur  yang akan kita override pada contoh ini adalah prosedur paint() yang menentukan bagaimana dan apa yang akan ditampilkan pada applet saat pertama kali muncul.
Pada applet di atas kita juga menggunakan class Graphics yang gunanya untuk manipulasi tampilan Graphics pada applet kita. Untuk itu kita harus secara eksplisit memanggil class tersebut dengan nama tempat paketnya, yaitu: import java.awt.Graphics.
Lalu pada prosedur paint(), kita lakukan penggambaran sesuatu pada applet dengan menggunakan function drawString() yang terletak pada objek g yang bertype Graphics. Function ini mengambil parameter string apa yang akan digambarkan, posisi x, dan posisi y (dalam pixel) pada applet.
Setelah dikompilasi, kita akan memperoleh sebuah file class yang bernama JavaAppletPertama.class. Untuk melihat hasil applet tersebut, kita harus membuat sebuah halaman HTML yang memanggil applet tersebut. Gunakan tag HTML <applet> </applet> sebagai berikut:
<HTML>
<HEAD>
<TITLE> Percobaan membuat applet </TITLE>
</HEAD>
<BODY>
Java applet ku mengatakan:
<APPLET CODE="JavaAppletPertama.class" WIDTH=150  HEIGHT=25></APPLET>
</BODY>
</HTML>
Sekarang jalankan web browser dan buka file HTML ini (misalnya applet.html) dan lihat hasilnya. Cara lain untuk melihat applet ini adalah dengan menggunakan program appletviewer yang merupakan program bawaan Java Development Kit.

3.     Informasi lebih lanjut

Salah satu keuggulan Java adalah kemampuannya dijalankan pada web browser ini. Dalam hal ini web browser berfungsi sebagai Java Interpreter yang berfungsi menterjemahkan bytecode dan menampilkan hasilnya pada browser. Ini berarti kita akan mendapatkan tampilan halaman web yang animatif, dinamis, maupun interaktif, tergantung dari program Java yang dibuat. Tanpa Java, kita hanya akan mendapat tampilan dokumen HTML yang statis, tidak menarik dan tidak interaktif. Banyak contoh applet yang tersedia di internet yang telah siap digunakan untuk memperindah dan membuat halaman web anda lebih interaktif. Sebagian ada yang gratis dan ada pula yang harus anda beli. Silahkan kunjungi search engine dengan keyword java, class, atau java class. Site lain yang layak anda kunjungi adalah http://www.developer.com dan http://java.sun.com
Untuk mempelajari Java lebih detail, sekarang  terdapat banyak literatur baik yang ada di internet maupun di buku. Salah satunya adalah “Java dan JavaScript” oleh Onno W. Purbo & Akhmad Daniel S, PT Elex Media Komputindo 1998.


Selasa, 24 Juli 2012

JAVA






JAVA
Java' adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Java tidak boleh disalahpahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser.


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