Follow us on:

Pages

Showing posts with label ALL ABOUT JAVA. Show all posts
Showing posts with label ALL ABOUT JAVA. Show all posts
Konversi Bilangan menggunakan JOptionPane

    Pada posting sebelumnya saya telah menjelaskan bagai mana cara membuat program konversi bilangan menggunakan JAVA akan tetapi pada postingan tersebut hanya berbasis console dan  kali ini ane akan posting tentang Konversi Bilangan menggunakan JOptionPane. yaitu semacam semi GUI.

   Oke langkah-langkah yang harus dipersiapkan adalah :


    1.siapkan netbeans

    2.siuapkan project baru
    3.buat new Java class pada source project teman-teman
    4.tuliskan script di bawah ini ke page java kalian :



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Praktek1;
import java.awt.Choice;
import java.io.PrintWriter;
import java.math.BigDecimal;
import javax.swing.JOptionPane;

/**
 *
 * @author Dian Bagus
 */
public class MenuDariJOption {
    private static String name;
    private static String des;
    private static int validDes;
    private static String gender;
    private static int hasil;
    private static int jumlah;
    private static StringBuilder binerHasil= new StringBuilder();
    private static StringBuilder hexaHasil= new StringBuilder();
    private static StringBuilder oktalHasil= new StringBuilder();
    private static StringBuilder pembagiHasil1= new StringBuilder();
     private static StringBuilder pembagiHasil10= new StringBuilder();
      private static StringBuilder pembagiHasil100= new StringBuilder();
       private static StringBuilder pembagiHasil1000= new StringBuilder();
        private static StringBuilder pembagiHasil10000= new StringBuilder();
    private static StringBuilder pemecahHasil= new StringBuilder();

    private final String PEMBAGI_SEPULUH = "10";
    private final String PEMBAGI_SERATUS = "100";
    private final String PEMBAGI_SERIBU = "1000";
    private final String PEMBAGI_SEJUTA = "1000000";
    private final String PEMBAGI_SEMILYAR = "1000000000";
    private final String PEMBAGI_SETRILYUN = "1000000000000";

    private static PrintWriter pw = new PrintWriter (System.out,true);              //digunakan untuk merubah System.out menjadi pw


 public static void keBiner(int n){

                                                                    //konversi kebiner
        if (n>1){
        keBiner(n/2);
        }
        pw.print(n%2);
        binerHasil.append(n%2);
    }

    public static void inputDesJOption(){
                                                                    //input Desimal melalui JOption

        des=JOptionPane.showInputDialog("Masukkan Bilangan Desimal : ");
        try{
            if(des.isEmpty()){
                JOptionPane.showMessageDialog(null, "Bilangan Desimale kudu di isi !!");
                inputDesJOption();
            }
        }
        catch(NullPointerException npa){
            JOptionPane.showMessageDialog(null, "Sepurane Kudu Diisiisi !!");
            inputDesJOption();
        }


    }

    public static void eksepsiInpBiner(){
                                                                    //eksepsi inputan biner
        inputDesJOption();
        try{      //penjebakan kesalahan
        validDes=Integer.parseInt(des);                         //menjadikan input string ke integer
        JOptionPane.showMessageDialog(null,"\nDecimal dari "+des+", Binernya adalah = "+binerHasil);   //menampilkan input(des) ke layer
        keBiner(validDes);                                          //dilempar ke method biner
        pw.println();
        }
            catch(NumberFormatException error){         //menangkap kesalahan jika inputan bukan number
            JOptionPane.showMessageDialog(null,des+" bukan angka mas beroo!!" + "\nMasukkan angka saja mas berooo!!"); //memberikan massage alert kesalahan
            eksepsiInpBiner();
}
 
    }



    public static void outHasilBiner(){
        eksepsiInpBiner();
                                                                    //output hasil biner
    }

    public static void keHexa(int n){

char[] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    if(n>1){
        keHexa(n/16);
    }
    pw.print(daftarHexa[n%16]);
    hexaHasil.append(daftarHexa[n%16]);

    }

    public static void eksepsiInpHexa(){

        inputDesJOption();
        try{      //penjebakan kesalahan
        validDes=Integer.parseInt(des);                         //menjadikan input string ke integer
        JOptionPane.showMessageDialog(null,"\nDecimal dari "+des+", Hexanya adalah = "+hexaHasil);   //menampilkan input(des) ke layer
        keHexa(validDes);                                          //dilempar ke method biner
        pw.println();
        }catch(NumberFormatException error){         //menangkap kesalahan jika inputan bukan number
            JOptionPane.showMessageDialog(null,des+" bukan angka mas beroo!!" + "\nMasukkan angka saja mas berooo!!"); //memberikan massage alert kesalahan
            eksepsiInpHexa();
          
      
        }
    }

    public static void outHasilHexa(){

        eksepsiInpHexa();

    }

    public static void keOktal(int n){
int sisaBagi = n % 8;
    if (n>0) {
        keOktal((n- sisaBagi)/8);
 
    pw.print(n%8);
    oktalHasil.append(n%8);
    }
    }

    public static void eksepsiInpOktal(){

       inputDesJOption();
        try{      //penjebakan kesalahan
        validDes=Integer.parseInt(des);                         //menjadikan input string ke integer
      
        keOktal(validDes);                                          //dilempar ke method biner
        pw.println();

        JOptionPane.showMessageDialog(null,"\nDecimal dari "+des+", Octalnya adalah = "+ oktalHasil);  //menampilkan input(des) ke layer
      
        }catch(NumberFormatException error){         //menangkap kesalahan jika inputan bukan number
            JOptionPane.showMessageDialog(null,des+" bukan angka mas beroo!!" + "\nMasukkan angka saja mas berooo!!"); //memberikan massage alert kesalahan
            eksepsiInpOktal();
        }

    }

    public static void outHasilOktal(){

        eksepsiInpOktal();

    }

    public static void inpNama(){
        name=JOptionPane.showInputDialog("Masukkan" + " Nama Anda :");       //memasukan inputan

        try{
            if(name.isEmpty()){                                                             //ekspresi ketika nama tidak diisi
            JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong!!");
            inpNama();//kembali imput nama
            }
        }catch(NullPointerException errorr){
            JOptionPane.showMessageDialog(null, "Dadaa Mas beroo,suwuunn ");  //menampilkan massage inputan
            System.exit(0);//kembali input nama
        }

    }

    public static void inpGender(){

        // Membuat objek untuk mengganti nama tombol
        Object[] o = {
            "Ya", "Batal", "Tidak Tahu"};
        // Membuat objek untuk menampilkan Teks dan Choice pada OptionPane
        Object[] pilih = new Object[2];
        // Teks
        pilih[0] = "Apakah Jenis Gender Anda??";
        // Choice
        Choice l = new Choice();
        l.addItem(" Pria");
        l.addItem(" Wanita");
        l.addItem(" Waria");
        l.addItem(" Tidak Tahu");
        pilih[1] = l;
        // Menampilkan Option Dialog
        int option = JOptionPane.showOptionDialog(null,
                                                  pilih, "Option",
                                                  JOptionPane.YES_NO_OPTION,
                                                  JOptionPane.QUESTION_MESSAGE, null,
                                                  o,
                                                  o[0]);
        // Mengambil item yang dipilih
        String item = l.getSelectedItem();
        gender=item;
        switch (option) {
          case 0: // Ya
            JOptionPane.showMessageDialog(null,
                                          "Anda Memilih \"" + item +
                                          "\" sebagai Gender Anda");
            break;
          case 1: // Batal
            JOptionPane.showMessageDialog(null, "Anda Batal Memilih Gender");
            inpNama();
            break;
          case 2: // Tidak Tahu
            JOptionPane.showMessageDialog(null,
                "Anda Benar-Benar Tidak Tau Apa Gender Anda ???");
            inpGender();
            break;

        }
    


    }

    public static void menuJOption(){
                                                                //membuat menu dengan JOption
        //... teks untuk tombol
        inpNama();
        inpGender();
        String[]pilihan = {"TERBILANG","PECAHAN","BINER","HEXA","OKTAL","KEMBALI","<< KELUAR >>"};
        //...."Infanite" loop,selesai jika System.exit(0)
        while (true){
        int response = JOptionPane.showOptionDialog(
                null // Tengah window.
                , "Met Datang "+gender+" "+name+"!!"
                +"\nPilih Konversi Bilangan dibawah 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 yang ditekan
            switch (response){
                case 0:
                    outPembilang();                    //tombol terbilang
                    break;
                case 1:
                    outPembagi();                    //tombol pecahan
                    break;
                case 2:
                    outHasilBiner();     //tombol biner
                    break;
                case 3:
                    outHasilHexa();      //tombol hexa
                    break;
                case 4:
                    outHasilOktal();     //tombol octal
                    break;
                case 5:
                    inpNama();
                    break;
                case 6:
                    System.exit(0);  //keluar looping
                default:
                    //.... jika kita disini ada kesalahan,
                    JOptionPane.showMessageDialog(null, "response salah"+response);
                    break;
            }
        }
    }



    public String getTerbilang(BigDecimal dataUang) {
        final String CONST_SPASI = " ";
        final String CONST_NOL = "0";
        final String CONST_11 = "11";
        final String CONST_19 = "19";
        final String CONST_99 = "99";
        final String CONST_199 = "199";
        final String CONST_999 = "999";
        final String CONST_1999 = "1999";
        final String CONST_999_RIBU = "999999";
        final String CONST_999_JUTA = "999999999";
        final String CONST_999_MILYAR = "999999999999";
        final String CONST_999_TRILYUN = "999999999999999";
        StringBuilder result = new StringBuilder();
        int satuan;

        // cek apakah data minus
        if (dataUang.compareTo(BigDecimal.ZERO) < 0) {
            dataUang = dataUang.multiply(BigDecimal.ONE.negate());
            result.append("Minus");

        }

        // data dianggap tidak minus
        if (cekData(dataUang, CONST_NOL, CONST_11)) {
            result.append(CONST_SPASI)
                    .append(getSatuan(dataUang.intValue()));
        } else if (cekData(dataUang, CONST_11, CONST_19)) {
            result.append(getTerbilang(mod(dataUang, PEMBAGI_SEPULUH)))
                    .append(CONST_SPASI)
                    .append("Belas");
        } else if (cekData(dataUang, CONST_19, CONST_99)) {
            result.append(getTerbilang(div(dataUang, PEMBAGI_SEPULUH)))
                    .append(CONST_SPASI)
                    .append("Puluh")
                    .append(getTerbilang(mod(dataUang, PEMBAGI_SEPULUH)));
        } else if (cekData(dataUang, CONST_99, CONST_199)) {
            result.append(CONST_SPASI)
                    .append("Seratus")
                    .append(getTerbilang(dataUang.subtract(new BigDecimal(PEMBAGI_SERATUS))));
        } else if (cekData(dataUang, CONST_199, CONST_999)) {
            result.append(getTerbilang(div(dataUang, PEMBAGI_SERATUS)))
                    .append(CONST_SPASI)
                    .append("Ratus")
                    .append(getTerbilang(mod(dataUang, PEMBAGI_SERATUS)));
        } else if (cekData(dataUang, CONST_999, CONST_1999)) {
            result.append(CONST_SPASI)
                    .append("Seribu")
                    .append(getTerbilang(dataUang.subtract(new BigDecimal(PEMBAGI_SERIBU))));
        } else if (cekData(dataUang, CONST_1999, CONST_999_RIBU)) {
            result.append(getTerbilang(div(dataUang, PEMBAGI_SERIBU)))
                    .append(CONST_SPASI)
                    .append("Ribu")
                    .append(getTerbilang(mod(dataUang, PEMBAGI_SERIBU)));
        } else if (cekData(dataUang, CONST_999_RIBU, CONST_999_JUTA)) {
            result.append(getTerbilang(div(dataUang, PEMBAGI_SEJUTA)))
                    .append(CONST_SPASI)
                    .append("Juta")
                    .append(getTerbilang(mod(dataUang, PEMBAGI_SEJUTA)));
        }else if (cekData(dataUang, CONST_999_JUTA, CONST_999_MILYAR)){
            result.append(getTerbilang(div(dataUang, PEMBAGI_SEMILYAR)))
                    .append(CONST_SPASI)
                    .append("Milyar")
                    .append(getTerbilang(mod(dataUang, PEMBAGI_SEMILYAR)));
        }else if (cekData(dataUang, CONST_999_MILYAR, CONST_999_TRILYUN)){
            result.append(getTerbilang(div(dataUang, PEMBAGI_SETRILYUN)))
                    .append(CONST_SPASI)
                    .append("Trilyun")
                    .append(getTerbilang(mod(dataUang, PEMBAGI_SETRILYUN)));
        }

        return result.toString();
    }

    // ambil terbilang untuk satuan
    private String getSatuan(int data) {
        switch (data) {
            case 1: return "Satu";
            case 2: return "Dua";
            case 3: return "Tiga";
            case 4: return "Empat";
            case 5: return "Lima";
            case 6: return "Enam";
            case 7: return "Tujuh";
            case 8: return "Delapan";
            case 9: return "Sembilan";
            case 10: return "Sepuluh";
            case 11: return "Sebelas";
            default: return " ";
        }
    }


    // cek apakah data memenuhi syarat
    private boolean cekData(BigDecimal dataPembanding, String strBatasBawah, String strBatasAtas) {
        BigDecimal batasBawah = new BigDecimal(strBatasBawah);
        BigDecimal batasAtas = new BigDecimal(strBatasAtas);
        if (dataPembanding.compareTo(batasBawah) > 0) {
            if (dataPembanding.compareTo(batasAtas) <= 0) {
                return true;
            }
        }
        return false;
    }

    // mengambil sisa hasil bagi
    private BigDecimal mod(BigDecimal data, String strPembagi) {
        BigDecimal pembagi = new BigDecimal(strPembagi);
        return data.remainder(pembagi);
    }

    // mengambil hasil bagi dengan membuang angka dibelakang koma
    private BigDecimal div(BigDecimal data, String strPembagi) {
        BigDecimal pembagi = new BigDecimal(strPembagi);
        return data.divide(pembagi, 1);
    }

    public static void outPembilang (){
        inputDesJOption();
      
        pw.println(new Terbilang().getTerbilang(new BigDecimal(des)));
        pemecahHasil.append(new Terbilang().getTerbilang(new BigDecimal(des)));
        JOptionPane.showMessageDialog(null,pemecahHasil);
    }

    public static void outPembagi(){
inputDesJOption();
validDes=Integer.parseInt(des);
int[] nilaiBilangan = new int[5];

pw.printf("angka %d\n", validDes);

int pembagi = 10000;
for(int i = 0; i < nilaiBilangan.length; i++){
nilaiBilangan[i] = validDes/pembagi % 10;
pembagi = pembagi / 10;
}

String[] namaTempat = {"puluhan ribu = ", "ribuan = ", "ratusan = ", "puluhan = ", "satuan = "};
for(int i = 0; i < nilaiBilangan.length; i++){
pw.printf("nilai %s = %d\n", namaTempat[i], nilaiBilangan[i]);
pembagiHasil1.append(namaTempat[i]+ nilaiBilangan[i]+"\n");
JOptionPane.showMessageDialog(null,pembagiHasil1);
        }

    }



    public static void main(String[]args){
    menuJOption();

    }

}

  5.Setelah Kalian salin maka coba jalankan dengan pencet tombol
    shift+F6.

  6.Setelah dijalankan maka program akan tampak seperti ini



  - Pada bagian pembuka maka tampilan seperti sebagai berikut
      nb: disini teman-teman diminta untuk memasukan nama masing-
          masing

    nb:tampilan massage berikutakan tampil jika kalian memilih 

       CANCEL.

nb : massage diatas akan keluar jika kalian tidak mengisi nama


  -Kemudian Lanjut pada bagian selanjutnya
   nb: Ini merupakan tampilan Option dari pemilihan gender.dapat 
       dilihat bahwa kotak option ini terdapat 3   
       tombol yaitu ya untuk ok , batal untuk tidak jadi memilih
       dan tombol tidak tahu jika anda tidak tahu 
       gender anda :D
  nb: Gambar diatas merupakan Pilihan dari macam-macam gender :  
      "pria","wanita","waria" dan yang terakhir 
       adalah "tidak tahu"

   
nb: Gambar diatas Akan muncul jika anda memilih option tidak tahu
 nb : Pesan di atas akan muncul bila anda menekan batal

   nb: Ketika anda selesai memilih maka akan keluar kotak massage sebagai konfirmasi bahwa Pilihan gender 
         anda itu tepat

-Setelah pemilihan gender maka teman-teman akan mlanjutkan ke
 Menu selanjutnya. 



  nb: dapat dilihat bahwa ada tulisan nama dan jenis kalian
      diatas.kemudian di bawahnya terdapat berbaga tombol 
      pilihan.

- Bila Teman-teman menekan tombol konversinya maka kalian akan
  dihadapkan oleh kotak input seperti dibawah ini


   nb : Pertama-tama kalian akan diminta untuk menginputkan     
        nilai dari bilangan desimal.


       nb: Bila Kalian Tidak mengisi Inputan maka akan muncul massage seperti ini

  nb: Pesan ini muncul bila anda mengcancel inputan tersebut. 
      bisa dikatakan anda dipaksa untuk mengisi inputan decimal
      ini.
  nb: Pesan tersebur akan tampil bila anda mengisi kotak input
      bukan dengan angka

-Hasil dari Biner



-Hasil dari Oktal



-Hasil dari Hexa


-Konversi Pemecah

  nb: sebagai contoh maka kita akan melakukan inputan seperti diatas

   nb: Gambar diatas merupakan hasil dari konversi Pemecah Bilangan

-Konversi Pembilang


   nb: Sebagai contoh kita akan melakukan inputan seperti diatas
  nb : Hasilnya akan nampak seperti diatas


-Klik tombol kembali jika ingin melakukan inputan mulai awal.
-Klik tombol keluar jika ingin keluar dari program.


Sekian ya posting kali ini,tunggu posting-posting lainnya.jika ada kesalahan mohon isi komentar di bawah ini :D ,Terimakasih

Konversi Bilangan dengan JAVA

Okeh gan , pada post kali ini saya akan menjelaskan tentang Konversi Bilangan dengan pemrograman JAVA.

Langkah-Langkah :
- Pertama-tama persiapin dulu gan Netbeansnya
- Trus bikin project dengan nama PratikumJava
- Kemudian pada  Source package bikin new package dengan nama Praktek1
- Trus klik kanan pada Praktek1 ,pilih java class
- Yang terakhir masukin ni codding yang dibawah :

package Praktek1;

/**
 *
 * @author Dian Bagus
 */
import java.util.Scanner;
import javax.swing.JOptionPane;

public class KonversiBil2 {
    static String name;
    static int bilDes; //mendeklarasikan bahwa var bilDes bertipe Int
    //method rekursi
    static int asli;
    public static void Biner(int n){ //function untuk konversi ke biner
        if(n>1){
            Biner(n/2);
        }
        System.out.print(n%2);
    }
    public static void tampilBiner(){ //function untuk tampilkan biner
        inputDes();
        System.out.print("Binernya adalah :");
                Biner(bilDes);
    }
    public static void Oktal(int n){ //function untuk konversi ke octal
        if(n>1){
            Oktal(n/8);
        }
        System.out.print(n%8);
    }
    public static void tampilOktal(){ //function untuk tampilan konversi octal
        inputDes();
        System.out.print("Oktalnya adalah :");
                Oktal(bilDes);
    }

    public static void Heksa(int n){ //function untuk konversi ke hexsa
        asli = n;
        if(n>1){
            Heksa(n/16);
        }
        if(!((n%16==0)&(n==asli))){ //jika heksa awal 0 tidak ditulis (misal 04 ditulis 4)
        switch(n%16){
            case 10 : System.out.print("A"); break;
            case 11 : System.out.print("B"); break;
            case 12 : System.out.print("C"); break;
            case 13 : System.out.print("D"); break;
            case 14 : System.out.print("E"); break;
            case 15 : System.out.print("F"); break;
            default : System.out.print(n%16);//System.out.print(
        }
        }
    }
    public static void tampilHeksa(){ //function untuk tampilkan heksa
        inputDes();
        System.out.print("Heksanya adalah :");
                Heksa(bilDes);
    }
    public static int inpBil(){ //fungsi untuk input pemilihan menu
        System.out.println("=================================="+
                "\n\nSelamat datang "+name);
        System.out.println("Silakan memilih Menu Konversi Bilanagn"+
                "\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 inputDes() { //fungsi untuk input bil desimal
        System.out.print("Masukkan Bilangan desimal = ");
        Scanner inputan=new Scanner(System.in);
        bilDes=inputan.nextInt();
        //return bilDes;
    }
    public static void menU(int pil){ //fungsi menu pemilihan
        System.out.println("\033");//clear screen
        switch(pil){
            case 1: tampilBiner(); break;
            case 2: tampilHeksa();break;
            case 3: tampilOktal();break;
            case 4: System.out.println("BUBYE!!");
                System.exit(0); break;
            default:System.out.println("(Maaf. Pilih angka 1-4");
        }
        System.out.println("\033");//clear screen
    }
    public static void main(String arg[]){ //fungsi utama
        name = JOptionPane.showInputDialog("Masukkan Nama Anda ");
        do{
            //pemanggilan method
            menU(inpBil());
        }
        while(true);
    }
}

nah selesai deh Konversi Bilangannya ;
dibawah ni hasil gambarnya gan
recomendation dari saya monggo dilihat :

1. Pertama-tama saat Program dijalankan


  pada gambar diatas bisa dilihat bahwa saat pertama program di run maka muncul sebuah kotak dialog dimana agan diminta untuk mengisikan nama agan.

2. Setelah mengisi nama
Pada gambar diatas agan disuguhi pilihan konverter decimal ke Biner,Hexa atau Octal.

3.Nie contoh hasil konverter Biner,Hexa and Octal




  

Sekian gan post Konversi Bilangan melalui pemrograman JAVA , semoga dapat bermanfaat :D
terimakasih

Mengenal Perbedaadn System.in dan System.out di JAVA

Pada posting singkat kali ini saya akan menjelaskan perbedaan perintah System.out.print dan System.out.println di Java. System.out.print dan System.out.println memiliki fungsi yang sama, yaitu sama-sama berfungsi untuk mencetak angka atau karakter di Layar.

Lalu dimana perbedaan antara kedua perintah tersebut ? perbedaannya adalah kalau perintah System.out.print setelah mencetak, maka posisi kursor akan tepat berada disebelah angka atau karakter yang telah dicetak. Sedangkan pada perintah System.out.println, setelah mencetak, maka posisi kursor akan pindah ke baris baru, tepat dibawah angka atau karakter yang telah dicetak oleh perintah System.out.println sebelumnya. Untuk jelasnya, coba perhatikan kedua script dibawah ini:
public class latihan1 {
public static void main(String[] args)
{
System.out.print(“abc”);
System.out.print(“def”);
}
}
Apabila script latihan1 tersebut dijalankan, maka output program akan berupa :
abc
Berikut ini merupakan script kedua yang menggunakan perintah System.out.println :
public class latihan2 {
public static void main(String[] args)
{
System.out.println(“abc”);
System.out.println(“def”);
}
}
Apabila script latihan2 tersebut dijalankan, maka output program akan berupa :
abc
def
Semoga kedua contoh script ini dapat memberikan gambaran perbedaan antara perintah System.out.print dan System.out.println di Java.
Sekian saja posting kali ini. Selamat mencoba dan good luck icon wink Mengenal Perbedaan Perintah System.out.print dan System.out.println di Java

Fitur di JAVA

FITUR-FITUR JAVA 

Beberapa fitur yang ditawarkan Java API antara lain sebagai berikut :

a. Aplet
   Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih dinamis dan menarik.

b. Java Networking
   Sekumpulan API (Aplication Programming Interface) yang menyediakan fungsi - fungsi untuk aplikasi – aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Adrress dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alasan sekuriti dan pada kondidi umum hanya administrator ( root ) yang bisa memanfaatkan protokol ICMP.

c. Java Database Connectivity (JDBC)
   JDBC menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft SQL Server.

d. Java Security
   Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara high level atau low level, seperti public/private key management dan certificates.

e. Java Swing
   Java Swing menyediakan sekumpulan API untuk membangun aplikasi – aplikasi GUI (Graphical User Interface) dan model GUI yang diinginkan bisa bermacam – macam, bisa model Java, model Motif/CDE atau model yang dependent terhadap platform yang digunakan.

f. Java RMI
   Java RMI menyediakan sekumpulan API untuk membangun aplikasi – aplikasi Java yang mirip dengan model RPC (Remote 4 Procedure Call) jadi object - object Java bisa di call secara remote pada jaringan komputer.

g. Java 2D/3D
   Java 2D/3D menyediakan sekumpulan API untuk membangun grafik – grafik 2D/3D yang menarik dan juga akses ke printer.

h. Java Server Pages
   Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi – aplikasi CGI, JSP (Java Server Pages) yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi Internet.

i. JNI (Java Native Interface)
   JNI menyediakan sekumpulan API yang digunakan untuk mengakses fungsi – fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C,C++, dan Basic.

j. Java Sound
Java Sound menyediakan sekumpulan API untuk manipulasi sound.

k. Java IDL + CORBA
Java IDL (Interface Definition Language) menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia networking.

l. Java Card
Java Card utamanya digunakan untuk aplikasi – aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada handphone.

m. JTAPI (Java Telephony API)
Java Telepony API menyediakan sekumpulan API untuk memanfaatkan devices – devices telepony, sehingga akan cocok untuk aplikasi – aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution), PCPBX dan lainnya.
  
Guna mencakup lingkungan-lingkungan aplikasi yang berbeda, Sun mendefinisikan 3 (tiga) edisi java, yaitu :

1.    J2ME (Java Micro Edition)

Edisi ini ditunjukan bagi lingkungan dengan sumber daya terbatas, seperti smartcard, ponsel, dan PDA.

2.      J2SE (Java 2 Standard Edition)

Edisi ini ditunjukan bagi lingkungan workstation, seperti pembuatan aplikasi-aplikasi desktop.

3.      J2EE (Java 2 Enterprise Edition)

Edisi ini ditunjukan bagi lingkungan Internet atau aplikasi terdistribusi dalam skala besar.

     Perbedaan setiap edisi meliputi fitur-fitur bahasa yang didukung dan API yang tersedia. Berdasarkan tingkatannya, edisi yang lebih tinggi mampu mengemulasi edisi yang lebih rendah. Adapun urutan edisi yang tertinggi ke rendah adalah J2EE, J2SE, J2ME.

     Sedangkan pada Versi java kita cermati dari versi-versi Java yang telah dirilis Sun yang menggunakan dua jenis versi, yaitu versi produk dan versi developer. Seperti kita ketahu, versi terbaru saat ini adalah versi 6 (Versi produk) atau versi 1.6.5 (Versi developer), dengan nama kode Mustang. Sejak tahun 2006, Sun juga menyederhanakan penamaan platform dengan tujuan untuk mencerminkan tingkat kematangan, stabilitas, skalabilitas, dan sekurity yang lebih baik. Jika penamaan versi sebelumnya adalah Java 2 Platform, Standard Edition 5.0 (J2SE 5.0), maka sekarang disederhanakanmenjadi Java Platform, Standard Edition 6 (Java SE 6, atau lebih sering disebut Java 6).



Arti Logo JAVA

 ARTI LOGO








          




   Pertama, mari kita bicara tentang bentuk logo itu sendiri; itu adalah sebuah gambar pada sebuah piring cangkir dengan uap di atas. Salah satu hal yang menarik dari desain adalah bahwa gambar terdiri dari garis melengkung sederhana (8 baris di total, 6 baris untuk cangkir dan piring dan 2 untuk uap).

       Tentang warna, itu terdiri dari 2 warna utama (merah dan biru) yang adalah 2 warna utama dalam desain. Dengan menggunakan dua warna ini, dapat ditempatkan bagus di backgroud warna berbeda tetapi masih tetap kontras yang bagus … Hei, mari kita lihat uap, harus putih pada kenyataannya, mengapa … merah? Uhmm mungkin tidak hanya keluar uap cangkir, itu acttualy api: D Wow itu benar-benar tampak seperti api sekarang. Aku sekarang dapat melihat satu titik menarik di sini cangkir membuat Anda berpikir 2-line uap seperti uap, tetapi warna uap memberitahu Anda bahwa itu api, atau dengan kata lain, cangkir jangkar arti dari baris 2-simbol sebagai uap sementara warna simbol jangkar arti dari simbol sebagai api, begitu menarik.

       Api adalah simbol kekuasaan, panas, energi, kekuatan, bahaya dan lain-lain Berdasarkan makna asosiasi ini, hal itu menunjukkan sebuah rasa kekuatan bahasa pemrograman ini, Jawa. Memang, Java adalah bahasa yang kuat di bidang komputer, terutama pada lingkungan Web. Dengan sebuah program di Java, Anda bisa mendapatkannya berjalan di hampir sistem komputasi. Aku tidak akan sejauh ini untuk teknis Java … tetapi dengan menggunakan “uap api”, perancang telah ditransfer kepada kita kekuatan bahasa Java. Selain itu, api adalah cahaya merah yang berarti kegembiraan, gairah berarti bahwa Anda sebagai seorang programmer atau pengguna dapat menemukan kebahagiaan dengan aplikasi yang ditulis dalam bahasa ini.
  
        Tentang tipografi, hanya ada satu kata Java . Desainer menggunakan sans-serif daripada serif untuk kata ini. Alasan untuk ini adalah bahwa logo Java kebanyakan akan muncul di layar komputer, san-serif font dapat mengakibatkan efek dari kurang berkedip-kedip-font serif. Untuk perangkat PDA, logo bahkan mungkin sangat kecil di atas kiri atau kanan bawah dari layar, kami tidak dapat mengenali kata Java kalau font serif dalam situasi seperti itu.


ALL ABOUT JAVA

            Bicara tentang Java pasti sudah tidak asing lagi bagi anda, apalagi bagi seorang RPL yang pasti mendapat pelajaran Java. Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman, dan sekaligus suatu platform.Berikut ini merupakan penjelasan tentang Java :

 

 PENGERTIAN

Apa sih Java itu?
"Java logo"

     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. 




  SEJARAH PERKEMBANGAN JAVA




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

     Pendidikan mengenai Java itu sendiri hingga kini masih jarang yang secara terbuka mengajarkan tentang bagaimana Java itu sendiri, bagaimana Java dapat dipelajari secara gratis. dan hingga saat ini situs web yang masih setia mengajarkan Java secara gratis masih hanya berkutat pada javacode-x.blogspot.com Java  



     KELEBIHAN DAN KEKURANGAN JAVA

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