Minggu, 09 September 2012

Konversi Bilangan Menggunakan JOption





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

/**
 *
 * @author Gana13
 */
import javax.swing.JOptionPane;
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);
    }

    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();
    }

  
}

Pahami Screen Shot dibawah ini :














Read more →Konversi Bilangan Menggunakan JOption

Rabu, 05 September 2012

Kenversi Bilangan Biner, Hexa dan Octal (PHP)

Untuk membuat konversi bilangan ini buat project dengan nama back.php
Kemudian copy code dibawah ini :
<?php
if (isset($_POST['submit'])){
    $nama=$_REQUEST['nama'];
    if(isset($_POST['gender'])){
        $gender=$_REQUEST['gender'];
    }
    else{
        $gender='';
    }
    $cek='';
}
else{
    $nama='';
    $gender='';
    $cek="Harus diisi lengkap!!";
    }
?>
<!DOCTYPE html>

<html>
    <head>
    
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Conditional</title>
    </head>
    <style type="text/css">
a:link{color:#FF0000}
a:visited{color:#660099}
a:hover{color:#FFFF00}
a:active{color:#000000}
</style>
</head><body background="1.jpg">
    <script language="JavaScript">
<!--
window.alert("Selamat Datang");
//-->
</script>
          <h1><?echo $cek?></h1><br>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1">
            <p>Nama : <input type="text" name="nama" value="<?php echo $nama?>"/></p>
            <p>Jenis Kelamin : <input type="radio" name="gender" value="L"
                      <?php ($gender=="L")? print 'checked=""': print '';?>/>
        Laki-Laki
        <input type="radio" name="gender" value="P"
              <?php ($gender=="P")? print 'checked=""': print ''; ?>/>
        Perempuan </p>
            <input type="submit" name="submit" value="submit"/>
        </form>
                 <?php
        if (isset($_POST['submit'])) { // apakah data ter-sumbit?
            /*membuat variabel untuk menyimpan data yang dikirim*/
            $nama=$_REQUEST['nama'];
            if(isset($_POST['gender'])){
                $gender=$_REQUEST['gender'];
            }
            else{
                $gender='';
            }
            //cek apakah data yang dikirim tidak kososng
        if($nama==''  || $gender==''){
            echo'<h2>Selamat Data Kurang Lengkap</h2>';
        } else {
            /*cek jenis kelamin*/
            if ($gender=='L'){
                echo '<h2>Selamat Datang Bro,  '.$nama.'!!</h2>';
            } else{
                echo'<h2>Selamat Datang Sis,   '.$nama.'!!</h2>';
            }
        }
        echo "<a href='validator.php'> Click Untuk Mulai Konversi </a>"; // HASIL ,
            }
        ?>
    </body>
</html>

Untuk memulai proses konversi buat project dengan nama validation.php
Kemudian copy code dibawah ini :

<?php
error_reporting(0);
$des = $_REQUEST['des'];//deklarasi var desimal
$option = $_REQUEST['option'];//deklarasi var pilihan
  function oct($des){       
   echo("jadi octal dari".$des." adalah ".decoct($des) . "<br />");
    
    }
function hexa($bil){ 
$decimal=$bil;
$ori=$decimal ;
    $hex =dechex($decimal);
    $result = strrev($hex);
      return "Bilangan $ori (desimal) dalam bentuk hexadesimal adalah $result";
  
}

function bin($bil){
      $decimal= $bil;
      $ori=$decimal;
                $binary= decbin($decimal);
                $result = strrev($binary);
      return "Biner dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }

?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
      <style type="text/css">
a:link{color:#FF0000}
a:visited{color:#660099}
a:hover{color:#FFFF00}
a:active{color:#000000}
</style>
  
    <body background="1.jpg">
                <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
                method="post" name="form1">
            <p>Inputkan : <input type="text" name="des" value="<?php echo $des ?>" /></p>
            <p>Pilih konversi : <br/>
                <input type="radio" name="option" value="bin"
                    <?php ($option=="bin") ? print 'checked=""': print ''; ?>/>
                        Desimal ke Biner<br/>
                <input type="radio" name="option" value="hex"
                    <?php ($option=="hex") ? print 'checked=""': print ''; ?>/>
                        Desimal ke Hexa<br/>
                <input type="radio" name="option" value="oct"
                    <?php ($option=="oct") ? print 'checked=""': print ''; ?>/>
                        Desimal ke Octal<br/>
            </p>
            <input type="submit" name="submit" value="Submit"/>
        </form>
        <?php
            if(isset($_POST['des'])){ //apakah data tersubmit?
                /*mambuat variable untuk menyimpan data yang dikirim*/
                $des = $_REQUEST['des'];
                $option = $_REQUEST['option'];
                //cek apakah data yang dikirim tidak kosong ?
                if($des=='' || $option==''){
                    echo '<h2>Maaf data Kurang Lengkap</h2><br>';
                    echo "<a href='".$_SERVER['PHP_SELF']."'>Reset</a>";
                }
                else{
                    //cek jenis kelamin
                    switch($option){
                        case 'bin' : echo "<h3>".bin($des)."</h3>"; break;
                        case 'hex' : echo "<h3>".hexa($des)."</h3>"; break;
                        case 'oct' : echo "<h3>".oct($des)."</h3>"; break;
                        default : break;
              
                  }
                }
              
              }echo "<br><a href='back.php'>kembali ke inputan nama </a>";
         ?>
    </body>
</html>

Pahami Screen Shot dibaha ini :





Read more →Kenversi Bilangan Biner, Hexa dan Octal (PHP)

Konversi Bilangan ke Biner, Hexa dan Oktal (Java)


package praktek1;
//Memanggil kelas yg akan dipakai
import java.util.Scanner;
import javax.swing.JOptionPane;
//class utama

/**
 *
 * @author Gana13  */
public class Konversi_Bilangan {
//global variable
    static String name; //object
    static String JK;
    static int bilDes;//variable
    //fungsi/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'};
    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 void inputDes(){
    System.out.print("Masukkan Bilangan Desimal = ");
    Scanner inputan=new Scanner(System.in);
    bilDes=inputan.nextInt();
    }
   
    public static void tampilBiner(){
    inputDes();
        System.out.print("Binernya adalah : ");
    Biner(bilDes);
    }
    public static void tampilHexa(){   
    inputDes();
        System.out.println("Hexanya adalah = ");   
    Hexa(bilDes);
    }
    public static void tampilOktal(){
    inputDes();
        System.out.println("Oktalnya adalah = ");
    Oktal(bilDes);
    }
    public static int inpBil(){
    System.out.println("=================================="
            + "\nSelamat datang "+JK+" "+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("Makasih Sudah Mampir :D");
                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 aKU[]){
        name=JOptionPane.showInputDialog("Masukkan Nama Anda : ");
        if(name.equals(""))
        {
            JOptionPane.showInputDialog("Silahkan Isi Nama Anda terlebih dahulu : ");
        }
            String[] choices = {"Perempuan", "Laki-Laki"};
       
        String Perempuan="Mbak";
        String Laki="Mas";
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Apa jenis kelamin Anda ?"    // Pesan
                             , "Jenis Kelamin"               // Judul di Tittlebar
                             , JOptionPane.YES_NO_OPTION  // Tipe Option
                             , JOptionPane.QUESTION_MESSAGE  // Tipe Pesan
                             , null                      
                             , choices    
                             , "Quit"    // Default button
                           );
        switch(response){
            case 0 : JK=Perempuan;
                break;
            case 1 : JK=Laki;
                break;           
        }
        do{
            menU(inpBil());
        }
        while(true);
    }
    }
}

Pahami Screen Shot berikut :



 
Read more →Konversi Bilangan ke Biner, Hexa dan Oktal (Java)