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

Minggu, 09 September 2012

0 KONVERSI BILANGAN (JAVA) SCANNER


maaf gan gak bisa ngomong panjang lebar karena saya udah ngantuk..
ini adalah program konversi bilangan menggunakan SCANNER



-Pertama Buat New JavaClass lalu ketik script berikut ini


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

import java.util.Scanner;

/**
 *
 * @author AID
 */
public class KonversiBilangan{
    static String name;
    static String jk;
    static String lp;
    static int bilDes;
    static int asli;
//START method konversi
    public static void Biner(int n){ //function utk konv ke biner
        if(n>1){
            Biner(n/2);
        }
        System.out.print(n%2);
    }
    public static void tampilBiner(){ //function utk tampilkan biner
        inputDes();
        System.out.print("Binernya adalah :");
                Biner(bilDes);
    }
    public static void Oktal(int n){ //function utk konv ke octal
        if(n>1){
            Oktal(n/8);
        }
        System.out.print(n%8);
    }
    public static void tampilOktal(){ //function utk tampilkan octal
        inputDes();
        System.out.print("Oktalnya adalah :");
                Oktal(bilDes);
    }
   
    public static void Heksa(int n){ //function utk konv ke heksa
        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 utk tampilkan heksa
        inputDes();
        System.out.print("Heksanya adalah :");
                Heksa(bilDes);
    }
//END method konversi
   
//START function input menu
    public static int inpMenu(){ //fungsi untuk input pemilihan menu
        System.out.println("=================================="+
                "\n\nSelamat datang "+jk+" "+name);
        System.out.println("Silakan memilih Menu Konversi Bilangan"+
                "\n1. Biner \n2. Hexa \n3. Oktal \n4. Terbilang \n5. Pecahan  \n6. Exit ");
        System.out.print("Masukkan angka Menu = ");
        Scanner inputan = new Scanner(System.in);
        int pilmenu = inputan.nextInt();
        return pilmenu;
    }
//END function input menu
   
//START method for input desimal
    public static void inputDes() { //fungsi untuk input bil desimal
        System.out.print("Masukkan Bilangan desimal = ");
        Scanner inputan=new Scanner(System.in);
        bilDes=inputan.nextInt();
    }
//END method for input desimal
   
//START eksekusi menu
    public static void menU(int pil){ //fungsi menu pemilihan
        System.out.println("\033");//clear screen /saya sendiri ga' paham :D
        switch(pil){
            case 1: tampilBiner(); break;
            case 2: tampilHeksa();break;
            case 3: tampilOktal();break;
            case 4: tampilTerbilang();break;
            case 5: tampilPecahan();break;
            case 6: System.out.println("GOOD BYE ya!!");
                System.exit(0); break;
            default:System.out.println("(Maaf. Pilih angka 1-6");
        }
        System.out.println("\033");//clear screen
    }
//END eksekusi menu
   
//START Terbilang
    static String[] angka = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};
    private static 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 static 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 tampilTerbilang() {
        inputDes();
        System.out.print("Bacanya yaitu : "+terbilang(bilDes));
    }
//END terbilang
   
//START PECAHAN
public static void tampilPecahan() {
    inputDes();
        int desimal;

                desimal = bilDes;

                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;
             System.out.println("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);

            }
//END PECAHAN
   
//START method input nama
public static void inpNama(){
        System.out.print("Inputkan nama anda : ");
        Scanner inputNama = new Scanner(System.in);
        name = inputNama.nextLine();
        if(name.equals(""))
        {
            System.out.println("Ma'af anda belum mengisi nama, isi lagi ya :D\n");
            inpNama();
        }
        else{
            inpJK();
        }
}
//END method input nama

//START method for input jenis kelamin
public static void inpJK(){
        System.out.print("Masukkan jenis kelamin : \n1.Laki-laki \n2.Perempuan\n menu no : ");
        Scanner inputjk = new Scanner(System.in);
        String pil = inputjk.nextLine();
        int pilmenu = Integer.parseInt(pil);
        switch(pilmenu){
            case 1 : jk = "agan"   ;break;
            case 2 : jk = "sist" ; break;
            default :
                System.out.println("Lho anda salah input ya ??? apa anda waria :P\n input lagi ya...\n");
                inpJK();
        }
}
//END method for input jenis kelamin

//START Main METHOD UTAMA UNTUK MENJALANKAN PROGRAM
    public static void main(String FIRAYZ[]){
        inpNama();
        do{
            //pemanggilan method/fungsi menu
            menU(inpMenu());
        }
        while(true);
    }
//END Main METHOD UTAMA UNTUK MENJALANKAN PROGRAM
}

Outputnya:

-Penginputan Nama
 -Pemilihan Gender
 -Pemilihan Menu Konversi bilangan
 -Pemasukan angka desimal Dan Hasil

0 Konversi Bilangan JOptionPane(java)


Konversi Bilangan menggunakan JOptionPane


-Buat New JavaClass lalu masukkan koding berikut

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

/**
 *
 * @author AID
 */
import javax.swing.JOptionPane;

public class KonversiBilanganDenganJOptionPane {
        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 StringBuilder Terbilang= 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 Desimal : ");
        try{
            if(des.isEmpty()){
                JOptionPane.showMessageDialog(null, "Bilangan Desimal Wajib diisi!!");
                inputDesJOption();
            }
        }
        catch(NullPointerException npa){
            JOptionPane.showMessageDialog(null, "Wajib di isi !!");
            inputDesJOption();
        }
    }
    public static void outHasilBiner() {
        inputDesJOption();
        try {//untuk melakukan penanganan kesalahan
            validDes = Integer.parseInt(des);
            System.out.print("\n Bilangan desimal : " + des + " jika dijadikan Biner hasilnya : ");
            keBiner(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Biner hasilnya : " + binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
            // reset object binerHasil
            binerHasil = new StringBuilder();
     
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'" + des + "'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            outHasilBiner();
        }
    }

    public static void outHasilHexa() {
        inputDesJOption();
        try {//untuk melakukan penanganan kesalahan
            validDes = Integer.parseInt(des);
            System.out.print("\n Bilangan desimal : " + des + " jika dijadikan Hexa hasilnya : ");
            keHexa(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Hexa hasilnya : " + 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 {//untuk melakukan penanganan kesalahan
            validDes = Integer.parseInt(des);
            System.out.print("\n Bilangan desimal : " + des + " jika dijadikan Oktal hasilnya : ");
            keOktal(validDes);
            System.out.println("\n");
            JOptionPane.showMessageDialog(null, "Bilangan desimal : " + des + " jika dijadikan Oktal hasilnya : " + oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
            oktalHasil = new StringBuilder();
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(null, "'" + des + "'"
                    + " .... bukan 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, "Nama tidak boleh kosong !!");
                inpNama();
            }
        }
        catch(NullPointerException npe){
            JOptionPane.showMessageDialog(null, "Nama Wajib Di isi !!");
            inpNama();
        }
    }
    //menampilkan input dialog jenis Kelamin (gender)
    public static void jenisKelamin(){
        gender=JOptionPane.showInputDialog("Masukkan Jenis Kelamin Anda (Laki/Perempuan) : ");
        try{
            if(gender.isEmpty()){
                JOptionPane.showMessageDialog(null, "Jenis Kelamin Harus Di isi!!");
                jenisKelamin();
            }
        }
        catch(NullPointerException npt){
            JOptionPane.showMessageDialog(null, "Apa Jenis Kelamin anda??");
            jenisKelamin();
        }
        if ("Laki".equals(gender)) {
            kelamin="Agan, ";
        }
        else{
            if("Perempuan".equals(gender)){
                kelamin="Aganwati, ";
            }
            else{
                JOptionPane.showMessageDialog(null, "Hanya bisa diisi Laki / Perempuan !!");
                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("Masukan Bilangan yang akan disebut : ");
        try {
            if (sc.isEmpty()) {
                JOptionPane.showMessageDialog(null, "isi dulu bilangannya !!");
                outTerbilang();
            } else {

                JOptionPane.showMessageDialog(null, new MenuDariJOption().Terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
            }
        } catch (NullPointerException not) {
            JOptionPane.showMessageDialog(null, "Jangan keluar dulu, harus diisi dulu.. !!");
            outTerbilang();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "Hey '" + sc + "'"
                    + " .... 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, "Isi woy bilangannya");
                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, "Bilangan Wajib Di isi!!");
            hasilPecahan();
        } catch (NumberFormatException nae) {
            JOptionPane.showMessageDialog(null, "Hey '" + str + "'"
                    + " .... bukan angka !!"
                    + "\nMasukkan angka saja !!");
            hasilPecahan();
        }
    }
    public static void kembaliMenu(){
        inpNama();
        jenisKelamin();
    }
    public static void menuJOption(){
        inpNama();
        jenisKelamin();
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "KEMBALI", "KELUAR"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                    
                             , "Selamat Datang "+kelamin+name+" !!"
                                + "\nPilih Konversi Bilangan dibawah ini?"// 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, "response salah"
                                                    + response); break;
            }
        }
    }
    public static void main(String[] args){
        menuJOption();
    }

 
}

Outputnya :

-Box untuk menginputkan nama
 -Box untuk menginputkan Gender yang bersifa Casesensitive
 -Box untuk memilih pengkonversian
 -Box Menginputkan bilangan desimal yang diinputkan
-Hasil pengkonversian


0 Konversi Bilangan Java

Hello Kawan Semua, Saya mau berbagi sesuatu, ini adalah sebuah program pengkonversi bilangan  dengan menggunakan aplikasi netbean,
mari kita simak.

-Pertama buka aplikasi NetBeans, klik kanan pada pakage, pilih java class, dan beri nama KonversBilangan
dan masukan ni koding

/*
 * 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 user
 */
public class KonversiBilangan {
    static String name;
    static int bilDes;
    static String kelamin;

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>1){
        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>1){
        Oktal(n/8);
    }
    System.out.print(daftarOktal[n%8]);
    }
public static int inputDes(){
    System.out.print("Masukkan Bilangan desimal = ");
    Scanner inputan=new Scanner(System.in);
    bilDes=inputan.nextInt();
    return bilDes;
}
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("===============================" + "\nWelcome  "+kelamin+", "+name+"");
    System.out.println("Pilih 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("\003");
    switch(pil){
        case 1: tampilBiner(); break;
        case 2: tampilHexa(); break;
        case 3: tampilOktal(); break;
        case 4: System.out.println("Thank's ya "+kelamin+" "+name+", sudah mengunjungi.");
                System.exit(0); break;
        default:System.out.println("(sorry. hanya bisa pilih angka 1-4 saja)");
        break;
    }
    System.out.println("\003");
}
public static void main(String arg[]){
    name=JOptionPane.showInputDialog("Masukkan Nama Anda :");
    String [] options = { "Cowok", "Cewek","Banci" };
    String Cowok="boy";
    String Cewek="girl";
     while(true){
    int choice = JOptionPane.showOptionDialog(
                null,
                "Kamu Cowok atau Cewek?",
                "Jenis Kelamin",
                 JOptionPane.YES_NO_CANCEL_OPTION,
                 JOptionPane.QUESTION_MESSAGE,
                 null,
                   options, "Quit");
        switch(choice){
            case 0 : kelamin=Cowok;
                break;
            case 1 : kelamin=Cewek;
                break;
            default : kelamin="ihh boook ";
        }
    do{
        menU(inpBil());
    }
            while(true);
}           
}
}

-setelah memasukan kode di atas lalu Run ! , yang pertama muncul adalah :
  
-Masukan Nama anda pada kotak yang sudah ditentukan
-Setelah memasukan nama dan menekan OK, maka akan tampil :
-

-Nah Pilih Gender anda, jangan sampai Banci yee
-Jika anda pilih Cowok maka akan muncul welcome, boy ,"nama yang anda inputkan
-Jika anda pilih Cewek maka akan muncul welcome, girl ,"nama yang anda inputkan
-Setelah mengisi maka akan muncul Output diatas
-Nah berikut jika sudah diisi semua
-ada pilihan menu , jika angka menu sudah diisi maka akan ada dialog lagi untuk memasukaan bilangan desimal


Nah itu kawan yang bisa gua informasikan sama ente , semoga bermanfaat yee ?





Selasa, 31 Juli 2012

0 James Gosling

 JAMES GOSLING 

James A. Gosling O.C., Ph.D. (lahir di dekat Calgary, Alberta, Kanada, 19 Mei 1955; umur 57 tahun) adalah seorang pengembang perangkat lunak, yang terkenal terutama sebagai bapak bahasa pemograman Java.

Pendidikan dan Karir James Gosling

Pada 1977, James Gosling menerima gelar B.Sc dalam Ilmu Komputer dari Universitas Calgary. Pada 1983, ia memperoleh gelar Ph.D dalam Ilmu Komputer dari Universitas Carnegie Mellon, dengan disertasi "The Algebraic Manipulation of Constraints". Ketika menyelesaikan program doktornya, ia menulis sebuah versi dari emacs (gosmacs), dan sebelum bergabung dengan Sun Microsystems ia membangun sebuah versi multi-prosesor Unix ketika kuliah di Universitas Carnegie Mellon, maupun sejumlah compiler dan mail systems.
Sejak 1984, Gosling bekerja untuk Sun Microsystems, dan umumnya dikenal sebagai pembuat bahasa pemograman Java.
Sejak kecil dia memang sangat tertarik dengan elektronika. Saat usia 12 tahun, orangtuanya mendapatinya berhasil membuat permainan tic tac toe dengan memanfaatkan komponen suku cadang telepon dan televisi. Melihat minat dan bakat tersebut, suatu ketika sahabat orangtuanya mengajak Gosling ke laboratorium komputer di Universitas Calgary. Saat itu usianya masih 14 tahun.

Sejak saat itulah ia lebih sering menghabiskan banyak waktu di laboratorium komputer daripada belajar di kelas. Lulus dari SMU, ia melanjutkan di Universitas Calgary. Saat menyelesaikan sarjana, ia mengembangkan editor teks Emacs, yang kelak menjadi editor teks yang paling banyak digunakan pada sistem operasi Unix. Kemudian ia mengambil pendidikan Master di Universitas Alberta sebelum melanjutkan program doktor di Universitas Carnegie Mellon di Pittsburgh. Ia memperoleh gelar Ph.D setelah berhasil mempertahankan tesisnya yang berjudul "The Algebraic Manipulation of Constraints" pada tahun 1983.

Ia segera bergabung dengan IBM selepas kuliah. Sayang hasil pekerjaannya tidak pernah diproduksi. Setahun kemudian, ia bergabung dengan Sun Microsystems hingga menjadi bagian Green Team untuk menjalankan projek rahasia Green Project. Berkat kemampuannya, kariernya segera melejit sehingga menduduki posisi Vice President (VP) Sun Microsystems dan Chief Technology Officer (CTO) Sunís Developer Product. Saat ini, ia masih berkontribusi pada Real-Time Specification of Java dan peneliti di laboratorium Sun untuk software development tools. Selain menjadi arsitek bahasa pemrograman Java, ia juga membangun sistem akuisisi data satelit, multiprosesor untuk Unix, beberapa kompiler, mail system dan insinyur utama pembuat windows manager NEWS (Network Extensible Windowing System).

Rabu, 25 Juli 2012

0 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 Microsystdms saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. 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 Java 

Java dibuat pada tahun 1991 oleh James Gosling (Sun Microsystems), pada awalnya dinamakan Oak, tetapi karena sudah ada bahasa memakai Oak kemudian namanya di ganti menjadi Java.
Awal mulanya Java dibuat untuk kebutuhan sebagai bahasa yang platform independent yang dapat di embedded dalam bermacam-macam consumer electronic products seperti pemanggang roti dan refrigerator (kulkas). salah satu proyek pertama yang dikembangkan menggunakan Java adalah personal hand-held remote control yang dinamakan Star 7. saat yang sama , World Wide Web (WWW) dan internet sedang mengalami masa kepopuleran. Gosling menyadari bahwa Java dapat digunakan untuk pemrograman Internet.


Fitur Fitur Java


– Java Virtual Machine
– Garbage Collection
– Code Security

Java Virtual Machine (JVM)


Mesin virtual yang diimplementasikan oleh software sehingga menyamai mesin yang sebenarnya yang menyediakan spesifikasi platform perangkat keras yang dapat meng-compile semua program Java.
Bahasa yang digunakan dalam JVM ini adalah bytecode. Bytecode adalah bahasa yang dimengerti oleh JVM dan bebas dari kekhususan berbagai jenis perangkat keras komputer, jadi komputer dengan Java interpreter dapat mengeksekusi program java yang sudah ter-compile, tidak peduli jenis komputer apa yang telah meng-compile program tersebut.

Garbage collection


Garbage Collection ini berfungsi sebagai:

  • bertanggung jawab untuk mengosongkan memori. Pengosongan memori terjadi otomatis selama masa   aktif dari program java.
  • programmer dibebaskan dari beban untuk mengalokasikan kembali memori itu sendiri.
     

Code Security


Code security disampaikan di Java melalui implementasi dari Java Runtime Environment (JRE). JRE menjalankan kode yang telah ter-compile pada JVM dan menampilkan class loading (melalui class loader), memverifikasi kode (melalui bytecode verifier) dan yang terakhir adalah mengeksekusi kode.

Class loader bertanggung jawab untuk mengisi semua class yang dibutuhkan pada program java, memberikan keamanan, dengan memisahkan namespace untuk class-class pada sistem file lokal, dimana semua class tersebut diimpor dari sumber pada jaringan.
Setelah mengisi semua class, susunan memori dari pelaksanaan kemudian ditentukan. Hal ini memberikan proteksi untuk melawan akses yang tidak diinginkan pada kode terlarang sejak peta memory ditentukan selama runtime.

Bytecode verifier
Menguji format pada fragmen code dan mengecek fragmen code dari code ilegal yang dapat mengganggu akses pada objek.

Refrensi: http://ifin.student.umm.ac.id/bahasa-c/java/fitur-java



 

TELKOM's WORLD Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates