Senin, 10 September 2012

Ini program Java menggunakan MenuJOptionPane !!

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package praktek1;
import javax.swing.JOptionPane;
/**
 *
 * @author deadit
 */
public class Java {
    private static String name;
    private static String des;
    private static String gender;
    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);
        }
        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);
            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);
            oktalHasil.append(daftarOktal[n%8]);
        }
    }

        public static void inputDesJOption(){
        des=JOptionPane.showInputDialog("Masukkan Bilangan Desimal : ");
        try{
            if(des.isEmpty()){
                JOptionPane.showMessageDialog(null, "Bilangan Desimalnya harus diisi yaa !!");
                inputDesJOption();
            }
        }
        catch(NullPointerException npa){
            JOptionPane.showMessageDialog(null, "Waa.... Harus diisi yaa !!");
            inputDesJOption();
        }
    }

    public static void outHasilBiner(){
        inputDesJOption();
        try{//untuk melakukan penanganan kesalahan
            validDes=Integer.parseInt(des);
            keBiner(validDes);
            JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" jika dijadikan Biner hasilnya : "+binerHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        }
        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);
            keHexa(validDes);
            JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" jika dijadikan Hexa hasilnya : "+hexaHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        }
        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);
            keOktal(validDes);
            JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" jika dijadikan Oktal hasilnya : "+oktalHasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE);
        }
        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(){
  // menampilkan pilihan gender
  Object[] options = { "cewek", "cowok" };
  int choice = JOptionPane.showOptionDialog(null,
      "Apa jenis kelamin kamu?",
      "Jenis Kelamin?",
      JOptionPane.YES_NO_OPTION,
      JOptionPane.PLAIN_MESSAGE,
      null,
      options,
      options[0]);
  try{
            if (choice == JOptionPane.YES_OPTION)
  {
    gender="Sist, ";
    menuJOption1();
  }
  else if(choice == JOptionPane.NO_OPTION)
  {
      gender="Bro, ";
      menuJOption1();
  }
        }
        catch(NullPointerException npe){
            JOptionPane.showMessageDialog(null, "Harap diisi dulu doongg !!");
            inpNama();
        }
}
    //terbilang
    //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 : ");
    JOptionPane.showMessageDialog(null, new Java().terbilang(new Long(sc)), "TERBILANG", JOptionPane.INFORMATION_MESSAGE);
    }
    //pecahan
    public static void hasilPecahan(){
        int desimal;
       
        String str=JOptionPane.showInputDialog("Masukkan bilangan yang akan dipecah : ");
        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);
    }
    //kembali ke inputan nama dan gender
    public static void kembaliMenu(){
        inpNama();
        jenisKelamin();
    }

   public static void menuJOption(){
       inpNama();
       jenisKelamin();
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "BACK", "<<EXIT>>"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Selamat Datang "+gender+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 menuJOption1(){
        String[] pilihan = {"BINER", "HEXA", "OKTAL", "TERBILANG", "PECAHAN", "BACK", "<<EXIT>>"};
        while (true) {
            int response = JOptionPane.showOptionDialog(
                               null                      
                             , "Selamat Datang "+gender+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();
    }

}

Setelah di tulis coding lalu di tekan shift+F6 untuk menjalankan : 


Setelah itu akan muncul pilihan jenis kelamin :


Jika belum memilih jenis kelamin maka akan muncul Message Dialog seperti ini :

 
Jika sudah memilih maka message selanjutnya akan muncul :


Ini hasil setelah memasukkan angka :


Menginputkan bilangan TERBILANG :


Hasil TERBILANG :


Menginputkan bilangan PECAHAN :


Hasil PECAHAN :





Selasa, 04 September 2012

PHP yang baru nih!

1. Buka Netbeans, buat halaman php web page, lalu beri nama. Misal nama  : validatorkonversi.php
2. Letakkan coding dibawah diatas <html>

     <?php
if(isset($_POST['submit'])){//isset : penekanan form
$nama=$_REQUEST['nama'];
    if(isset($_POST['gender'])){
        $gender=$_REQUEST['gender'];
    }
    else{
        $gender='';
    }
$cek='';
}
else{
    $nama='';
    $gender='';
    $cek1='Selamat Datang di Konversi Desimal';
    $cek2='Isi Data dulu ya kawan ! Harus lengkap ^_^';
}
?>
3. Lalu untuk mendesain tampilan web, kita menggunakan css. Coding diletakkan diantara tag <head> atau </title>.

<style type="text/css">
            body{
                
            }
            .a{
                font-family:Calibri;
                font-weight:bold;
                color:#E3941D;
            }
            .c{
                font-family:Calibri;
                font-weight:inherit;
                color:chocolate;
                font-size: 20px;
            }
            .b{
                font-family:Calibri;
                font-weight:bold;
                color:greenyellow;
            }
            form input.highlight{
                background: blue;
                border: solid 1px #CCCCCC;
                border-radius:5px;
                padding: 5px;
            }
            form input.highlight:focus {
                border: solid 1px #D9AD00;
                background: graytext;
                border-radius:5px;
            }
        </style>
4. Letakkan codingan dibawah ini diantara tag <body> </body>.
    
</br>
        </br>
        </br>
        <table border="0" width="900px" heigh="900px" align ="center">
<tr><td align="center"><h1 class='a'>
<?php echo $cek1 ?></h1>
</td></tr>
<tr><td align="center"><h1 class='c'>
<?php echo $cek2 ?></h1>
</td></tr>
<tr><td align="center"><form action="KonversiBilangan.php" method="post" name="form1">
            <p>
<h3 class='b'>
Nama : </br><input class='highlight' placeholder="Nama" required="required" type="text" name="nama" size ="30" value="<?php echo $nama ?>"/></h3>
</p>
<p>
<h3 class='b'>
Jenis Kelamin : <br>
                <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
            </h3>
</p>
<input type="submit" name="submit" value="Masuk">
        </form>
</td></tr>
</table>
5.Lalu ketikkan coding dibawah ini buat pendeklarasian variabel.
   <?php
if(isset($_POST['submit1'])){
$decimal=$_REQUEST['decimal'];
    if(isset($_POST['pilih'])){
        $pilih=$_REQUEST['pilih'];
    }
    else{
        $pilih='';
    }
}
else{
    $decimal='';
    $pilih='';
}
?>
6.Letakkan coding dibawah ini diatas tag </head>. untuk desain web.
  <style type="text/css">
            body{
             
            }
            a {
                width: 230px;
                border: 5px pink;
                -webkit-transition: all 1s ease-in-out;
                -moz-transition: all 1s ease-in-out;
                -o-transition: all 1s ease-in-out;
                font:18px Times;
                font-weight: bold;
                color: #0000CC;
                margin: 20px;
                text-align: center;
                padding: 10px;
                background-color: pink;
                text-decoration: none;
                text-shadow: none;
            }
            a:hover{
                background: whitesmoke;
            }
            .b{
                text-align:center;
                color: darkmagenta;
                font-family:Calibri;
                font-weight:bold;
            }
            .bayangan{
                font-family:Calibri;
                font-weight:bold;
                color:greenyellow;
            }
                .bayangan1{
                text-shadow:4px 0px 7px black;
                font-family:Calibri;
                font-weight:bold;
                color:#CCFF66;
            }
            form input.highlight{
                border: solid 1px #CCCCCC;
                border-radius:5px;
                padding: 5px;
            }
            form input.highlight:focus {
                border: solid 1px #D9AD00;
                background: graytext;
                border-radius:5px;
            }
        </style>
7. Untuk mengcoding form dan lain-lain, diletakkan di antara <body> </body>
    <h1 class="b">
Konversi Desimal</h1>
<table border="0" width="900px" heigh="900px" align ="center">
<tr>
    <td align ="center">
    <!-- Proses Pilih Gender dari file Validator.php -->
    <?php
        if(isset ($_POST['submit'])){
            $nama=$_REQUEST['nama'];
            if(isset($_POST['gender'])){
                $gender=$_REQUEST['gender'];
            }
            else{
                $gender='';
            }
        }
        if(isset ($_POST['submit'])){
        if($nama==''|| $gender==''){// tanda || : OR
            echo"<script>
                 alert('Maaf bro , sis data anda tidak lengkap !!');
                 document.location.href='Validatorkonversi.php';
                 </script>";//menggunakan javascript
        }
        else{
            //cek jenis kelamin
            //yang ini pakek petik dua
            if($gender=='L'){
                echo"<br><h1 class='bayangan'>
Selamat Datang Bro, $nama !!</h1>
";
                
            }
            else{
                echo"<br><h1 class='bayangan'>
Selamat Datang Sis, $nama !!</h1>
";
            }
            //yang ini pakek petik satu
            //if($gender=='L'){
            //    echo '<h2>
Selamat Datang Bro, '.$nama.' !!</h2>
';
            //}
            //else{
            //    echo '<h2>
Selamat Datang Sis, '.$nama.' !!</h2>
';
            //}
            //antar petik satu dan dua, model penulisan/script beda, tapi hasilnya sama. Petik dua, gak perlu membedakan antara String dengan Variabel.
        }
        }
    ?>
    <!-- End proses pilih Gender -->
    </td>
    </tr>
</table>
<table border="0" width="900px" heigh="900px" align ="center" class='bayangan1'>
<tr> 
    <td align ="center">
    <p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>
"
          method="POST" name="form1">
        <h2>
 Masukkan nilai desimal nya : </h2>
<input class='highlight' placeholder="Masukkan angka desimal" required="required" type="text" name="decimal" size ="25" value="<?php echo $decimal ?>"/><br>
        <h2>
 Pilih salah satu konversi : <br>
        <input type="radio" name="pilih" value="B"
               <?php ($pilih=="B")? print 'checked=""' : print ''; ?>/>
        Biner<br>
        <input type="radio" name="pilih" value="H"
               <?php ($pilih=="H")? print 'checked=""' : print ''; ?>/>
        Hexa<br>
         <input type="radio" name="pilih" value="O"
               <?php ($pilih=="O")? print 'checked=""' : print ''; ?>/>
        Oktal<br>
        </h2>
<input type="submit" name="submit1" value="Konverikan"><br>
    </form>
<!-- Proses Konversi -->
        <?php
        if(isset($_POST['submit1'])){//isset : penekanan form
        $decimal=$_REQUEST['decimal'];
            if(isset($_POST['pilih'])){
                $pilih=$_REQUEST['pilih'];
            }   
            else{
                $pilih='';
            }
        }
        else{
            $decimal='';
            $pilih='';
        }
        if(isset ($_POST['submit1'])){
        if($decimal==''|| $pilih==''){
            echo"<script>alert('Aduh ! Maaf ada kesalahan !')</script>";//menggunakan javascript
        }
        else{
            if($pilih=='B'){
            //Konversi ke Biner
            if (isset($_POST['decimal'])) {
                $decimal = $_POST['decimal'];
                $original = $_POST['decimal'];
                $binary = '';
                if (preg_match('/[^0-9]/',$decimal)) {
                        die ("Maaf. Inputan salah...");
                }
                else {
                    while ($decimal > 0) {
                        if ($decimal%2 == 0) {
                            $binary .= 0;
                            $decimal /= 2;
                        }
                        else {
                            $binary .= 1;
                            $decimal = ($decimal/2)-0.5;
                        }
                    }
                    $result = strrev($binary);
                    echo "<br><h2>
Bilangan Desimal : $original <br> Bilangan Biner : $result.</h2>
";
                    }
                }
                else {

                }
            }
            else{
                    if($pilih=='H'){
                    //Konversi ke Hexa
                        if(isset($_POST['decimal'])){
                        $des=$_POST['decimal'];
                        $original=$_POST['decimal'];
                        $hex='';
                        while ($des>0){
                        $hasil=$des%16;
                            switch($hasil){
                            case 0 : $hex.="0"; break;
                            case 1 : $hex.="1"; break;
                            case 2 : $hex.="2"; break;
                            case 3 : $hex.="3"; break;
                            case 4 : $hex.="4"; break;
                            case 5 : $hex.="5"; break;
                            case 6 : $hex.="6"; break;
                            case 7 : $hex.="7"; break;
                            case 8 : $hex.="8"; break;
                            case 9 : $hex.="9"; break;
                            case 10: $hex.="A"; break;
                            case 11: $hex.="B"; break;
                            case 12: $hex.="C"; break;
                            case 13: $hex.="D"; break;
                            case 14: $hex.="E"; break;
                            case 15: $hex.="F";
                            default:break;
                            }
                                if($des/16==0){
                                $sisa=($des%16);
                                $des=$sisa;
                                }
                                    else{
                                    $sisa=($des/16);
                                    $des=$sisa%16;
                                    }}
                                    $result = strrev($hex);
                                    echo "<br><h2>
Bilangan decimal : $original <br> Bilangan Hexa : $result.</h2>
";
                        }
                    }
                    else{
                        //Konversi ke Oktal
                         if(isset($_POST['decimal'])){
                         $des=$_POST['decimal'];
                         $original=$_POST['decimal'];
                         $octal='';
                         while ($des>0){
                         $hasil=$des%8;
                         switch($hasil){
                         case 0 : $octal.="0"; break;
                         case 1 : $octal.="1"; break;
                         case 2 : $octal.="2"; break;
                         case 3 : $octal.="3"; break;
                         case 4 : $octal.="4"; break;
                         case 5 : $octal.="5"; break;
                         case 6 : $octal.="6"; break;
                         case 7 : $octal.="7";
                         default:break;
                         }
                         if($des/8>0){
                            $sisa=($des/8);
                            $des=$sisa%8;
                            }
                            else{
                            $sisa=($des%8);
                            $des=$sisa;
                            }}
                            $result = strrev($octal);
                            echo "<br><h2>
Bilangan decimal : $original <br> Bilangan Oktal : $result.</h2>
";
                            }
                            else{

                            }
                    }
            }
            //yang ini pakek petik satu
            //if($gender=='L'){
            //echo '<h2>
Selamat Datang Bro, '.$nama.' !!</h2>
';
            //}
            //else{   
            //echo '<h2>
Selamat Datang Sis, '.$nama.' !!</h2>
';
            //}
            //antar petik satu dan dua, model penulisan/script beda, tapi hasilnya sama. Petik dua, gak perlu membedakan antara String dengan Variabel.
        }
        }
        echo "<br><h2>
<a href='konversibilangan.php'>RESET</a></h2>
<br><br>";
        ?>
    <!-- End proses Konversi -->
    </td>
    </tr>
</table>
Semoga bermanfaat :D
Jalankan dengan menekan shift+F6