Tampilkan postingan dengan label JAVA. Tampilkan semua postingan
Tampilkan postingan dengan label JAVA. Tampilkan semua postingan

Selasa, 11 September 2012

MenuDariJOption.java

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

package Paket1;

import javax.swing.JOptionPane;
/**
 *
 * @author FIAN
 */
public class MenuDariJOption {
private static String name;
           private static String des;
           private static String gender;
           private static String kelamin;
           private static int validDes;
           static StringBuilder binerHasil = new StringBuilder();
           static StringBuilder hexaHasil = new StringBuilder();
           static StringBuilder oktalHasil = new StringBuilder();
           static String sc;
           public static void keBiner(int n) {
                 if (n > 1) {
                     keBiner(n / 2);
                 }
              System.out.print(n % 2);
              binerHasil.append(n % 2);
              // binerHasil.append("\033");
          }

           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 Desimalnya wajib diisi !!");
                inputDesJOption();
            }
         } catch (NullPointerException npa) {
            JOptionPane.showMessageDialog(null, "Haram lho kalo ngga diisi !!");
            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, "Harap diisi nama dulu doonk !!");
            inpNama();
        }
    }
    //menampilkan input dialog jenis Kelamin (gender)

    public static void jenisKelamin() {
        gender = JOptionPane.showInputDialog("Masukkan Jenis Kelamin Anda (cowok/cewek) : ");
        try {
            if (gender.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Harus diisi lho yaa .... Jenis Kelamin ???");
                jenisKelamin();
            }
        } catch (NullPointerException npt) {
            JOptionPane.showMessageDialog(null, "Apa jenis kelamin kamu ???");
            jenisKelamin();
        }
        if ("cowok".equals(gender)) {
            kelamin = "Saudara, ";
        } else {
            if ("cewek".equals(gender)) {
                kelamin = "Saudari, ";
            } else {
                JOptionPane.showMessageDialog(null, "Hanya bisa diisi cowok dan cewek saja !!");
                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, "Waa.. mana bilangannya ?? Isi dulu yaa.. !!");
                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, "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, "Eitss mau kemana ?? Isi dulu bilangannya.. !!");
            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();
    }
}



























Sabtu, 01 September 2012

Konversi Bilangan


package paket1;

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

public class knvrsbilangan {
    //global variable
    static String name;//object
    static String kelamin;
    static int bilDes;//variable

    //fingsi/method rekursi
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'};
    int sisaBagi = n%16;
    if(n>0){
        Hexa((n - sisaBagi) / 16);
    }
    System.out.print(daftarHexa[n%16]);
}
public static void Oktal(int n){
    char[] daftarOktal={'0','1','2','3','4','5','6','7'};
    int sisaBagi = n %8;
    if(n>0){
        Oktal((n - sisaBagi) / 8);
        System.out.print(daftarOktal[n%8]);
    }
}
public static void inputDes(){
    System.out.print("Masukkan Bilangan Desimal= ");
    Scanner inputan=new Scanner(System.in);
    bilDes=inputan.nextInt();
    //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("=========================================="
            + "\nSelamat datang "+kelamin+" "+name+"");
    System.out.println("Silahkan memilih menu konversi "
            + "Bilangan ke: "+
            "\n1. Biner \n2. Hexa \n3. Oktal \n4. Exit");
    System.out.print("Masukkan Angka Menu= ");
    Scanner inputan=new Scanner(System.in);
    int pilmenu=inputan.nextInt();
    return pilmenu;
}
public static void menU(int pil){
    System.out.println("\033");//clear screen
    switch(pil){
        case 1: tampilBiner(); break;
        case 2: tampilHexa(); break;
        case 3: tampilOktal(); break;
        case 4: System.out.println("Kamsia ya, sudah mampir.");
                System.exit(0); break;//memberikan kondisi FALSE
        default:System.out.println("(Maaf. Pilih angka 1-4 saja!)");
        break;
    }
    System.out.println("\033");//clear screen
}
public static void main(String arg[]){
    name=JOptionPane.showInputDialog("Masukkan nama Anda : ");//menampilkan input dialog untuk memasukkan nama
    //menampilkan Option Dialog untuk memilih jenis kelamin
        String[] choices = {"Perempuan", "Laki-Laki", "WARIA"};

        String Perempuan= "Mbak";
        String Laki= "Mas";
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null
                             , "Apa jenis kelamin Anda ?"
                             , "Jenis Kelamin"
                             , JOptionPane.YES_NO_OPTION
                             , JOptionPane.QUESTION_MESSAGE
                             , null
                             , choices
                             , "Quit"
                           );
        switch(response){
            case 0 : kelamin = Perempuan;
                break;
            case 1 : kelamin = Laki;
                break;
            case 2:
                System.out.println("MAAF TIDAK MENERIMA WARIA!  ");
                     System.exit(0); break;
        }
    do{
        menU(inpBil());
    }
    while(true);
        }
}
}



Senin, 13 Agustus 2012

calculator sederhana


CODING

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

package Paket1;
    import java.util.Scanner;

    import javax.swing.JOptionPane;

    import java.io.BufferedReader;

    import java.io.InputStreamReader;

    import java.io.IOException;
/**
 *
 * @author Fian
 */
public class calculator {

           public static void main(String[] args)
        {
                //Input nama di BufferedReader
                BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
                String nama = "";
                //memasukkan nama
                System.out.print("Masukkan Nama Anda: ");
                try {nama = dataIn.readLine();}
                catch (IOException e){
                System.out.println("Error!");}
                //menampilkan nama
                System.out.println("Hallo " +nama + "'");
                //setelah itu memasukkan angka lewat scanner
            int tambah,angka1,angka2,angka3;
            Scanner input=new Scanner(System.in);
            System.out.println("Aplikasi Penjumlahan");
            System.out.println("(҂‾ ▵▵▵‾)︻╦̵̵̿╤─ \(˚▽˚'!)/");
            System.out.println("Masukkan Angka Pertama : ");
                //angka Pertama Masuk di Var angka1
            angka1=input.nextInt();
            System.out.println("Masukkan Angka Kedua : ");
                //angka Kedua Masuk di Var angka2
            angka2=input.nextInt();
                //memasukkan angka ketiga lewat JOptionPane
            String fn = JOptionPane.showInputDialog("Masukkan Angka Ketiga : ");
                //angka Ketiga Masuk di Var angka3
            angka3 = Integer.parseInt(fn);
                //di Jumlahkan
            tambah=angka1 +angka2 +angka3;
                //Output lewat ShowMessageDialog JOptionPane
            JOptionPane.showMessageDialog(null, "JAWABAN " +tambah, "JAWABAN", JOptionPane.PLAIN_MESSAGE);

            System.out.println("Hasil: " +tambah);
            System.out.println("»​»​»​»​»SELESAI«««««");
                    //Selesai, Alfian Febri - 03 -  XI.TKJ.1
        }

    }
klik OK




Minggu, 05 Agustus 2012

JAVA II


Java Development Kit tidak menyertakan sebuah tool untuk menuliskan program Java kita. Oleh karena itu, untuk menuliskan program Kita harus menggunakan editing tool yang ada seperti Notepad, Textpad, JCreator dsb. Atau kita dapat menggunakan IDE
yang lebih canggih seperti JBuilder, Eclipse, BlueJ, dsb tergantung pada kebutuhan kita. Untuk yang menggunakan Notepad terlebih dahulu melakukan setting path pada komputer saudara karena akan melakukan proses compile dan execute melalui command promt. Untuk hal ini tanyakan kepada asisten yang bersangkutan .
Sedangkan untuk yang lain hanya perlu melakukan setting pada program editing-nya dan langsung dapat melakukan compile dan execute hanya dengan icon – icon atau shortcut key pada program tersebut.


Keyword dalam Java


abstract      double       int             super
boolean       else         interface       switch
break         extends      long            synchronized
byte          final        native          this
case          finally      new             throw
catch         float        package         throws
char          for          private         transient
class         goto         protected       try
const         if           public          void
continue      implements   return          volatile
default       import       short           while
do            intanceof    static


          Sumber : Google "Materi dasar komputer dan pemrograman"

Kamis, 19 Juli 2012

JAVA

Sejarah Singkat Java
Java adalah bahasa pemograman tingkat tinggi yang berorientasi objek, diedarkan oleh Sun Microsystem1 pada awal tahun 1996. Sejarah awal Java berawal di tahun 1991 ketika satu group insinyur-insinyur Sun, yang dipimpin oleh Ptrick Naughton dan James Gosling, ingin mendesain sebuah bahasa pemograman komputer yang berukuran kecil yang dapat digunakan untuk peralatan elektronika konsumen sepertu switchboxes TV kabel. Dikarenakan peralatan-peralatan ini menggunakan konsumsi daya dan memory yang rendah, maka bahasa pemograman tersebut harus berukuran sangat kecil. Juga karena setiap vendor menggunakan CPUs (Central Processing Unit) yang berbeda, maka bahasa tersebut harus bersifat multiplatfrom, tidak terikat hanya pada satu arsitektur (Architecture Neutral). Proyek ini diberi nama Green Project. Karena harus bersifat Architecture Neutral, maka Green Project menggunakan Virtual Machine (atau dikenal dengan Java Virtual Machine) yang berasal dari model implementasi bahasa Pascal di awal-awal perkembangan PC. Dikarenakan insinyurinsinyur Sun berlatar belakang Unix2, jadi mereka mendasari bahasa pemograman mereka dengan C++ dari pada Pascal. Secara khusus mereka membuat bahasa mereka berorientasi obyek (object oriented), bukan berorientasi prosedur (procedural oriented) seperti model bahasa Pascal. Bahasa pemograman tersebut dinamakan Oak, kemudian diubah menjadi Java. Karena pada awalnya ditujuan untuk pemograman device kecil, Java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware. Perkembangannya sempat terhenti karena tidak ada yang tertarik dan tidak memiliki pasar seperti yang diramalkan. Ketika teknologi internet berkembang, Java diarahkan untuk menjadi bahasa pemograman internet karena fitur-fitur Java seperti Architecture Neutral, real time, reliable dan secure sangat sesuai untuk pengembangan internet.


Perkenalan dengan Java

Berbeda dengan bahasa pemograman yang lain yang hanya perlu di-compile atau hanya di-interpret sudah dapat menjalankan program di komputer, Java membutuhkan kedua hal tersebut (compile dan interpret) baru dapat menjalankan program yang telah dibuat.

Java Virtual Machine (JVM)


Kumpulan kode-kode program yang dibuat terlebih dahulu di-compile dan akan menghasilkan Java Bytecode (file .class yang akan memuat Java Bytecode yang dihasilkan tersebut) JVM merupakan mesin virtual yang berfungsi menerjemahkan Java Bytecode tadi ke

bahasa yang dimengerti oleh sistem operasi yang bersangkutan. Dengan adanya Java Bytecode, para programer merasa sangat tertolong karena hanya perlu menulis programnya satu kali saja tapi dapat digunakan di berbagai mesin yang berbeda sepanjang mesin tersebut memiliki sebuah JVM ("write once, run anywhere"). Dengan hal ini lah Java dikatakan bahasa pemograman yang multiplatform.


Beberapa aturan dasar yang perlu diperhatikan sebelum mulai menulis program Java:
- Setiap memulai untuk menulis program Java harus menggunakan keyword class.
- Penggunaan tanda kurung (seperti { }, ( ), [ ]) harus selalu berpasangan. Penggunaan tanda tanda kurung tersebut memiliki peran masing – masing yang akan saudara pelajari nantinya.
- Java bersifat case sensitif, artinya setiap huruf besar dan huruf kecil akan dibedakan oleh Java.
- Penggunaan tanda ; (titik koma) untuk mengakhiri setiap perintah, pendeklarasian serta hal–hal lain.
- Setiap program yang ditulis harus disimpan dengan nama ......java ( ..... diisi sesuai dengan nama class). Dan setelah di-compile akan menghasilkan .....class. Contoh: file dkp.java setelah di-compile akan menghasilkan dkp.class. Setiap
program .java minimal menghasilkan saru file .class.

Secara ringkas, demikian proses untuk menghasilkan suatu program Java :

Ketik program -> simpan (....java) -> compile (javac .....java)  -> execute (java .....class) -> hasil output