selamat malam para pembaca sekalian..
kali ini Insan dapat tugas Java, di soal tertulis 8 soal.
dan ini jawabannyaa,,


tak kasih tau scriptnya dulu yaa..

package Praktek1;
import javax.swing.JOptionPane;
public class MenuDariJOption {
    private static String name;
    private static String gender;
    private static String jk;
    private static String des;
    private static int validDes;
    static StringBuilder Hasilbiner= new StringBuilder();
    static StringBuilder hexaHasil= new StringBuilder();
    static StringBuilder octalHasil= new StringBuilder();
    static String hi;
    private static int ji,ro,lu,pat,mo,nem,tu,wol,ngo,luh;
   
    public static void keBiner(int n){
    if(n>1){
        keBiner(n/2);
    }
    System.out.print(n%2);
    Hasilbiner.append(n%2);
    }
     public static void eksepsiInpBiner(){
    inputDesJOption();
        try {
        validDes=Integer.parseInt(des);
        keBiner(validDes); //parameter
        JOptionPane.showMessageDialog(null, des + "Binernya adalah "+Hasilbiner, "hasil konversi"
                , JOptionPane.PLAIN_MESSAGE);
        Hasilbiner = new StringBuilder();
    }
    catch (NumberFormatException rrr){
      JOptionPane.showMessageDialog(null, des +"bukan angka!!"
              +"\nMasukkan angka saja!!");
      eksepsiInpBiner();
    }
    }
     
     public static void keHexa(int n){
    char[] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B'
            +'C','D','E','F'};
    if(n>0){
      keHexa(n/16);
    System.out.print(daftarHexa[n%16]);
    hexaHasil.append(daftarHexa[n%16]);
     }
}
    public static void eksepsiInpHexa(){
    inputDesJOption();
        try {
        validDes=Integer.parseInt(des);
        keHexa(validDes); //parameter
        JOptionPane.showMessageDialog(null, des+"Hexanya adalah "+hexaHasil, "hasil konversi"
                , JOptionPane.PLAIN_MESSAGE);
        hexaHasil = new StringBuilder();
    }
    catch (NumberFormatException err){
      JOptionPane.showMessageDialog(null, "'"+des +"'"+"bukan angka!!"
              +"\nMasukkan angka saja!!");
      eksepsiInpHexa();
    }
    }
    
    public static void keOctal(int n){
        char[] daftarOctal={'0','1','2','3','4','5','6','7'};
    if(n>0){
        keOctal(n/8);
    System.out.print(daftarOctal[n%8]);
    octalHasil.append(daftarOctal[n%8]);
    }
    }
  public static void eksepsiInpOctal(){
    inputDesJOption();
        try {
        validDes=Integer.parseInt(des);
        keOctal(validDes); //parameter
        JOptionPane.showMessageDialog(null,des + "Oktalnya adalah "+octalHasil, "hasil konversi"
                , JOptionPane.PLAIN_MESSAGE);
        octalHasil = new StringBuilder();
    }
    catch (NumberFormatException brr){
      JOptionPane.showMessageDialog(null, des +"bukan angka!!"
              +"\nMasukkan angka saja!!");
      eksepsiInpOctal();
    }
    }
     
    public static void inputDesJOption(){
    des = JOptionPane.showInputDialog("Masukkan Bil Desimalnya= ");
    try{
        if(des.isEmpty()){
            JOptionPane.showMessageDialog(null, "Ga boleh kosong loh yaa!!");
            inputDesJOption();
        }
    }
    catch(NullPointerException rrr){
        JOptionPane.showMessageDialog(null, "eits, jgn kabur!");
        inputDesJOption();
    }
    }
    
    public static void inpNama(){
    name=JOptionPane.showInputDialog(null,
            "Masukkan nama anda: ");
    try{
        if(name.isEmpty()){
            JOptionPane.showMessageDialog(null,
                    "Hoee, Nama tidak boleh kosong!!");
            inpNama();//kembali input nama
        }
        else{
            for(int p=0;p<name.length();p++){
                if(!Character.isLetter(name.charAt(p))){
            JOptionPane.showMessageDialog(null, "Hooe, Tulisannya ga boleh 4L4Y ");
            inpNama(); //kembali input nama
        }
            }
    }
    }
     catch(NullPointerException npe){
         JOptionPane.showMessageDialog(null,
                 "Harap diisi Nama dulu dong!!");
         inpNama();//kembali input nama
     }
    }
    public static void inpGender(){
    jk=JOptionPane.showInputDialog("Jenis Kelamin");
    try{
        if(jk.isEmpty()){
            JOptionPane.showMessageDialog(null, "Isi dahulu ya!");
            inpGender();
        }
    }
    catch (NullPointerException npt){
        JOptionPane.showMessageDialog(null, "Jangan kabur dong, diisi dulu");
        inpGender();
    }
    if ("Laki-laki".equals(jk)){
        gender=" saudara, ";
    }
    else{
        if("Perempuan".equals(jk)){
        gender=" saudari, ";
        }
        else{
            JOptionPane.showMessageDialog(null, "isinya hanya Laki-laki dan Perempuan ya");
            inpGender();
        }
    }
    }
    
    //terbilang
    String[] angka={"","Satu","Dua","Tiga","Empat","Lima","Enam","Tujuh"
            +"delapan","Sembilan","Sepuluh","Sebelas"};
    private String ucap(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 a=6;a>0;a--){
            y = (int) (x/Math.pow(10, a*3));
        if(y > 0){
            if(y==1 && a ==1) bilang += " Seribu "; else bilang += ucap(y) + satuan[a];
        } x %= Math.pow(10, a*3);
    }
    bilang+=ucap((int)x);
    return bilang;
}
public static void outTerbilang(){
hi = JOptionPane.showInputDialog("Masukkan Bilangan : ");
try{
    if(hi.isEmpty()){
        JOptionPane.showMessageDialog(null, "Tidak Boleh Kosong!");
        outTerbilang();
    }
}
catch(NullPointerException err){
    JOptionPane.showMessageDialog(null, "Hayoo jangan kabuur");
    outTerbilang();
}
JOptionPane.showMessageDialog(null, new MenuDariJOption().terbilang(new Long(hi)),"TERBILANG", JOptionPane.INFORMATION_MESSAGE);
}

public static void hasilPecahan(int desimal){
    String str=JOptionPane.showInputDialog("Masukkan bilangan yang dipecah : ");
    desimal=Integer.parseInt(str);
    
    ji=desimal/100000;
    desimal%=100000;
    
    ro=desimal/50000;
    desimal%=50000;
    
    lu=desimal/10000;
    desimal%=10000;
    
    pat=desimal/5000;
    desimal%=5000;
    
    mo=desimal/1000;
    desimal%=1000;
    
    nem=desimal/500;
    desimal%=500;
    
    tu=desimal/100;
    desimal%=100;
    
    wol=desimal/50;
    desimal%=50;
    
    ngo=desimal/10;
    desimal%=10;
    
    luh=desimal/1;
    desimal%=1;
}

public static void eksepsiPecahan(){
    try{
        hasilPecahan(validDes);
        JOptionPane.showMessageDialog(null, "Jumlah seratus ribuan ="+ji
                +"\nJumlah lima puluh ribuan = "+ro
                +"\nJumlah sepuluh ribuan = "+lu
                +"\nJumlah lima ribuan= "+pat
                +"\nJumlah seribuan= " +mo
                +"\nJumlah lima ratusan= " +nem
                +"\nJumlah seratusan= " +tu
                +"\nJumlah lima puluhan= " +wol
                +"\nJumlah puluhan= " +ngo 
                +"\nJumlah satuan= " +luh
         , "PECAHAN", JOptionPane.INFORMATION_MESSAGE);
    }
    catch (NumberFormatException ggg){
        JOptionPane.showMessageDialog(null, des +
                "bukan angka!" + "\n Masukkan angka saja!");
        eksepsiPecahan();
    }
}

public static void Menukembali(){
    inpNama();
    inpGender();
}
    public static void menuJOption(){
    // text untuk tombol
        inpNama();
        inpGender();
        String[] pilihan = {"BINER", "HEXA", "OKTAL","TERBILANG", "PECAHAN", "KEMBALI", "<<KELUAR>>"};
    //"infinite" loop, selesai jika System.exit(0)
        while (true){
            int response = JOptionPane.showOptionDialog(
                    null // tengah window.
                    , "Selamat Datang"+gender+""+name+"!"
                    + "\nPilih Konversi Bilangan dibawah ini?"// Pesan
                    , "Konversi Bilangan" //Judul Bar
                    , JOptionPane.YES_NO_OPTION //tipe pilihan
                    , JOptionPane.PLAIN_MESSAGE //tipe pesan
                    , null                      //Icon(none)
                    , pilihan                  //tombol text
                    , null   //label tombol default
                    );
            //menggunakan switch untuk mengecek tombol yang ditekan.
            switch (response){
                case 0:
                    eksepsiInpBiner();
                    break;
                case 1:
                    eksepsiInpHexa();
                    break;
                case 2:
                    eksepsiInpOctal();
                    break;
                case 3:
                    outTerbilang();
                case 4:
                    eksepsiPecahan();
                case 5:
                    Menukembali();
                case 6:
                case -1:
                    System.exit(0);
            //antara tombol (3) dan close box(-1) ditangani disini.
                default:
            //Jika kita disini ada kesalahan,
                    JOptionPane.showMessageDialog(null,
                    "response salah" + response); break;
            }
        }
    }
    public static void main(String[] args){
    menuJOption();
    }
    
}

hasil :

Tampilan Awal

Isi Nama

Apabila nama di cancel atau dikosongi

inputan nama tidak boleh seperti ini

kalo input nama seperti di atas maka

setelah input nama sudah benar,
maka akan ada tampilan seperti ini,

 Lalu, insan isi dengan Perempuan ya, soalnya insan kan perempuan. :)

kalo jenis kelaminnya bukan Perempuan atau Laki-laki maka tampilannya


Kalo di cancel

and then, tampilannya seperti ini

disini Insan inputan desimalnya 14



Tampilan binernya

Tampilan Hexanya


Tampilan Oktalnya

Lalu tampilan terbilangnya adalah

untuk tampilan Pecahannya sbb


kan di tampilan biner,hexa,dan octal ada button cancelnya, kalo ditekan tampilan sbb


lalu diatas juga ada button kembali, kalau di tekan tampilannya kembali ke awal: 


kalo keluar, yaa keluar dari program.


maaf kalo rada berantakan, efek sudah malam. :D
besok kalo ada kuota lagi Insan edit deh.
tapi ini sudah lumayan jelas kaan?? :p
saran dibutuhkan yaa. :)






Dalam pengkonversian bilangan pada Java, sebagai outputnya ada 2 yaitu, memakai JOptionPane dan Scanner.
pada pembahasan kali ini Insan menggunakan yang Scanner.
simak codingnyaa,

package Praktek1;
//memanggil kelas yang akan dipakai
import java.util.Scanner;
public class KonversiBilanganScanner {
static String name; //object
static String jenis_kelamin; //object
static String jk; //object
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 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 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 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 " + 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("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 input()
{
Scanner input = new Scanner(System.in);
System.out.println("Masukkan Nama Anda :");
name=input.nextLine();
if(name.equals(""))
{
namaKosong();
input();
}
else
{
jenis_kelamin();
}
}
public static void namaKosong()
{
Scanner namaKosong = new Scanner(System.in);
System.out.println("Namanya Harus Diisi !!!");
}
public static void jenis_kelamin()
{
Scanner jenis = new Scanner(System.in);
System.out.println("Masukkan Jenis Kelamin = ");
System.out.println("Pilih : \n 1 untuk Laki-Laki, \n 2 untuk Perempuan");
int response = jenis.nextInt();

switch(response)
{
case 1 :
jk = "Bro";
break;
case 2 :
jk = "Sis";
break;
default :
Scanner waria = new Scanner(System.in);
System.out.println("Cepat Perjelas Kelamin Anda Yaa..");
jenis_kelamin();
break;
}
}
public static void main(String aKU[]) // Guna Static -> Tidak Perlu Pembentukan Objek
{
input();
// terus mengulang menu jika bukan angka 4
do
{
menU(inpBil()); // atau KonversiBilangan.menU(inpBil());
}
while(true);
}
}

Hasilnya :




saran dan kritik dibutuhkan. :)



Haluu, ini Insan lagi ada tugas suruh buat konversi bilangan desimal ke biner,heksa dan oktal.
beuh banyak banget kan, untung Insan tetep semangaat nih.
ini dia scriptnyaa, simak deh.

<!--
-->
<?php
error_reporting(0);
$des = $_REQUEST['des'];//deklarasi var desimal
$option = $_REQUEST['option'];//deklarasi var pilihan
//Membuat function bin untuk konversi ke biner
    function bin($bil){
      $decimal= $bil;
      $ori=$decimal;;
      while ($decimal>0){ //Looping memutuskan apakah inputan 1 atau 0 yang ditampilkan
                    if($decimal%2 == 0){ // menampbah 0
                        $binary .= 0; //$binary=0+$binary
                        $decimal /= 2; //$decimal=$decimal/2
                    }
                    else{   //menambah 1
                        $binary .= 1; //$binary=1+$binary
                        $decimal = ($decimal/2)-0.5;

                    }
                }
                $result = strrev($binary);
      return "Biner dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }
//Membuat function oct untuk konversi ke octal
    function oct($bil){
        $des= $bil;
        $ori=$des;
        $oct='';
        while($des>0){
            $hasil=$des%8;
                switch($hasil){
                    case 0: $oct.="0"; break;
                    case 1: $oct.="1"; break;
                    case 2: $oct.="2"; break;
                    case 3: $oct.="3"; break;
                    case 4: $oct.="4"; break;
                    case 5: $oct.="5"; break;
                    case 6: $oct.="6"; break;
                    case 7: $oct.="7"; break;
                    default : break;
                }
                if($des/8==0){
                    $sisa=($des%8);
                    $des=$sisa;
                }
                else{
                    $sisa=($des/8);
                    $des=$sisa%8;
                }
        }
        $result = strrev($oct);
         return "Octal dari : $ori adalah : $result <br/>"; //fungsi ini mereturn hasil
    }
//Membuat function hex untuk konversi ke hexa
    function hex($bil){
        $des= $bil;
        $ori=$des;
        $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);
         return "Hexa dari : $ori adalah : $result <br/>"; //fungsi ini mereturn hasil
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Converter Option for Biner</title>
    </head>
<body bgcolor="purple">
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
                method="post" name="form1">
            <p>Masukkan bilangan desimal :          
              <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 to Biner<br/>
                <input type="radio" name="option" value="hex"
                    <?php ($option=="hex") ? print 'checked=""': print ''; ?>/>
                        Desimal to Hexa<br/>
                <input type="radio" name="option" value="oct"
                    <?php ($option=="oct") ? print 'checked=""': print ''; ?>/>
                        Desimal to Octal<br/>
            </p>
            <input type="submit" name="submit" value="Submit"/>
        </form>
        <?php
            if(isset($_POST['des'])){ //apakah data tersubmit?
                /*membuat 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>';
                }
                else{
                    //cek konversi bilangan
                    switch($option){
                        case 'bin' : echo "<h3>".bin($des)."</h3>"; break;
                        case 'hex' : echo "<h3>".hex($des)."</h3>"; break;
                        case 'oct' : echo "<h3>".oct($des)."</h3>"; break;
                        default : break;
                    }
                }
                echo "<a href='".$_SERVER['PHP_SELF']."'>Reset</a>"; //hasil
            }
         ?>
</body>
</html>

dan kemudian hasilnya seperti ini, taraa..

NewerStories OlderStories Home