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)

Selasa, 14 Agustus 2012

Konversi Decimal to Biner

<?php
if (isset($_POST['decimal'])) {//apakah data ter-submit ?
    $decimal = $_POST['decimal'];
    $original = $_POST['decimal'];
    $binary='';
    if (preg_match('/[^0-9]/',$decimal)){ //memastikan inputan adalah angka
        die ("Maaf. Inputan salah ..");
    }
    else{
        while ($decimal > 0){ //Looping memutuskan apakah 1 atau 0 yang ditambahkan
            if($decimal%2 == 0){ // menambah 0
                $binary .= 0; // $binary=0+$binary;
                $decimal /=2; // $binary=$binary/2;
            }
            else{ // menambah 1
                $binary .=1; //$binary=1+$binary;
                $decimal = ($decimal/2)-0.5;
            }
        }
        $result = strrev($binary);//hasile diwalik
        echo"Bilangan $original (desimal) dalam biner adalah $result.
        <a href='Konversi_inputan_ke_biner.php'>Back</a> to the script";//hasil
    }
}
else {
?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>DECIMAL to BINER</title>
    </head>
    <body> tes
    <form action="<?php echo $_SERVER['PHP_SELF'];?>"
           method="POST">
        <h3> Masukkan bilangan Desimal disini (cepat!!):
        </h3><input type="text" size="50" name="decimal">
        <input type="submit" value="Konversikan !">
    </form>
       
    </body>
</html>
<?php
}
?>
Read more →Konversi Decimal to Biner

Jumat, 10 Agustus 2012

Konversi Decimal to Hexa

<?php
$self =$_SERVER['PHP_SELF'];
if(isset($_POST['decimal'])){
$des=$_POST['decimal'];
$original=$_POST['decimal'];
$hex ='';
if(preg_match('/[^0-9]/',$des)){
die("Maaf, inputan salah ... <br> <a href='$self'>Kembali</a> ke awal");
}
else {
while ($des>0){
$hasil=$des%16; //hasil iku teko sisa 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 "Bilangan $original (desimal) dalam bentuk hexadesimal adalah $result
<br> <a href='$self'>Kembali</a> to the script";
}


else {
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dec to hex</title>
</head>
<body>
<form action="<? echo $_SERVER ['PHP_SELF'];?>"method="post">
<h1>Masukkan Bilangan Desimal Disini (Cepat !!!) </h1>
<input type="text" size="50" name='decimal'>
<input type="submit" value="konversi">
</form>

</body>
</html>
<?php
}
?>
Read more →Konversi Decimal to Hexa

Konversi Decimal to Okctal

<?php
    $self = $_SERVER['PHP_SELF'];
    if (isset($_POST['decimal'])) {
    $decimal = $_POST['decimal'];
    $original = $_POST['decimal'];
    $octal = '';

        if (preg_match('/[^0-9]/', $decimal)){
            die("Maaf, yang anda inputkan salah..");
        }
    else{
        while ($decimal>0){
            $hasil = $decimal%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($decimal/1==0){
            $sisa=($decimal%8);
            $decimal=$sisa;
}
        else{
            $sisa=($decimal/8);
            $decimal=$sisa%8;
}
}}
        $result = strrev($octal);
        echo "<h2>Bilangan $original (decimal) dalam bentuk hexadecimal adalah $result </h2>
        <h2><a href ='konversi_inputan_ke_biner.php'>Kembali</a> ke script</h2>


    }
else{
?>

<html>
<head>
    <meta http-equiv="Content-Type" content=text/html; charset=UTF-8">
    <title>decimal ke hexa</title>
</head>
<body>
    <form action="<? echo $_SERVER['PHP_SELF'];?> "method="post">
        <h1>Masukkan Bilangan Decimal Disini (cepat!!)</h1>
        <input type="text" size="50" name="decimal"><br>
        <input type="submit" value="konversi">
    </form>
</body>
</html>
<?php
?>
Read more →Konversi Decimal to Okctal

Jumat, 03 Agustus 2012

ANDROID IS OPEN SOURCE ! :D

Android memiliki berbagai keunggulan sebagai software yang memakai basis kode komputer yang bisa didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi baru di dalamnya. Android memiliki aplikasi native Google yang terintegrasi seperti pushmail Gmail, Google Maps, dan Google Calendar.
Para penggemar open source kemudian membangun komunitas yang membangun dan berbagi Android berbasis firmware dengan sejumlah penyesuaian dan fitur-fitur tambahan, seperti FLAC lossless audio dan kemampuan untuk menyimpan download aplikasi pada microSD card. Mereka sering memperbaharui paket-paket firmware dan menggabungkan elemen-elemen fungsi Android yang belum resmi diluncurkan dalam suatu carrier-sanction firmware.
Read more →ANDROID IS OPEN SOURCE ! :D

FITUR

Fitur yang tersedia di Android adalah:
  • Kerangka aplikasi: itu memungkinkan penggunaan dan penghapusan komponen yang tersedia.
  • Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat mobile.
  • Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
  • SQLite: untuk penyimpanan data.
  • Mendukung media: audio, video, dan berbagai format gambar (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF)
  • GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware dependent)
  • Kamera, Global Positioning System (GPS), kompas, dan accelerometer (tergantung hardware)
Read more →FITUR

SEJARAH ANDROID

Kerjasama dengan Android Inc.

Pada Juli 2005, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler.

2007-2008: Produk awal

Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010).
Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak (mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru.
Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android.

Android versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.

Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada semua ponsel; pengadaan resolusi VWGA.

Android versi 2.0/2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps - aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem operasi Android dalam situs Internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.

Android versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi Android Market.

Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu.

Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform Android 3.0 akan segera hadir di Indonesia. Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus. Rencana masuk pasar Indonesia pada Mei 2011.

Android versi 4.0 (ICS :Ice Cream Sandwich)

Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC.

Android versi 4.1 (Jelly Bean)

Android Jelly Bean yang diluncurkan pada acara Google I/O lalu membawa sejumlah keunggulan dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian, UI yang baru dan pencarian melalui Voice Search yang lebih cepat.
Tak ketinggalan Google Now juga menjadi bagian yang diperbarui. Google Now memberikan informasi yang tepat pada waktu yang tepat pula. Salah satu kemampuannya adalah dapat mengetahui informasi cuaca, lalu-lintas, ataupun hasil pertandingan olahraga.OS Android Jelly Bean 4.1 muncul pertama kali dalam produk tablet Asus, yakni Google Nexus 7.
Read more →SEJARAH ANDROID

ANDROID (sistem operasi)

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
Read more →ANDROID (sistem operasi)

SEKILAS TENTANG ASP.NET

Active Server Pages .NET (sering disingkat sebagai ASP.NET) adalah kumpulan teknologi dalam Framework .NET untuk membangun aplikasi web dinamik dan XML Web Service (Layanan Web XML). Halaman ASP.NET dijalankan di server kemudian akan dibuat halaman markup (penanda) seperti HTML ( Hypertext Markup Language), WML (Wireless Markup Language), atau XML (Extensible Markup Language) yang dikirim ke browser desktop atau mobile.

Pengenalan

ASP.NET merupakan komponen Internet Information Services (IIS). Oleh karena itu, untuk menginstalasikan ASP, harus juga menginstalasikan IIS. ASP.NET adalah komponen utama Window yang membuat ISS dapat menjalankan aplikasi yang berbasiskan .NET.
Harus diperhatikan ASP.NET tidak terinstalasi secara otomatis ketika IIS diinstal. Instalasi yang sukses secara otomatis juga akan menghasilkan beberapa komponen dan sumber daya seperti:
  • ASP.NET Performance Counter - Tiap versi ASP.NET memiliki performance center yang berbeda.
  • ASP.NET State Service - Digunakan untuk mengatur session state. Semua versi ASP.NET akan menggunakan State Service yang sama yaitu yang disediakan oleh versi terbaru.
  • ASPNET local user account - pada komputer yang berdiri sendiri ataupun member server local user acount bernama ASPNET akan dibuat ketika ASP.NET diinstal.

Keunggulan ASP.NET

ASP.NET memiliki keunggulan :
  • Penyederhanaan. ASP.NET membuat mudah tugas umum seperti pembuatan form, otentikasi client, validasi data, konfigurasi situs, dan deployment.
  • Perbaikan Performa. Karene ASP.NET dikompilasi ke CLR sehingga performanya lebih baik dari ASP yang interpreter.
  • Form-form Web. Merupakan model pemrograman baru yang menggabungkan aplikasi ASP dengan kemudahan pengembangan dan produktifitas Visual Basic.
  • Kode Nonspaghetti. Model pemrograman ASP.NET memisahkan kode dari presentasi sehingga mempermudah membuat konstruksi dan mengelola kode.
  • Perbaikan Manajemen Status. ASP.NET menyediakan status aplikasi dan sesi yang mudah digunakan. ASP.NET mengatasi keterbatasan tersebut dengan menyediakan dukungan pendistribusian status sesi dalam server web, menaruh informasi status dalam SQL Server, serta menyediakan pengelolaan status tanpa cookies.
  • Pengamanan. ASP.NET menyediakan layanan otorisasi (menentukan apakah pengguna memiliki izin untuk melakukan tindakan yang diminta) dan otentikasi (menentukan identitas pengguna yang melakukan permintaat) yang telah diperbaiki menggunakan CookieAuthenticationModule dan URLAuthorizationModule.
  • Konfigurasi. ASP.NET menggunakan file XML untuk menyimpan pengaturan konfigurasi. Hal ini membuat deployment situs menjadi lebih mudah.
  • Layanan Web. ASP.NET dapat digunakan untuk mengekspos fungsi bisnis ke partner melalui protokol Web standar.
  • Caching. Disediakan mesin caching untuk meningkatkan kinerja aplikasi dan mengurangi beban pemroses server web dan server database.
  • Debugging. ASP.NET memiliki utilitas tracking yang build-in.
  • Deployment. Deployment dapat dilakukan dengan cara menyalin file karena semua pengaturan konfigurasi situs terdapat dalam file XML.

Siklus Hidup halaman ASP.NET

Berikut adalah ringkasan siklus hidup halaman ASP.NET :
  • Client meminta file yang memiliki ekstensi .aspx.
  • ASP.NET membaca file dari file sistem server.
  • ASP.NET memeriksa tiap-tiap tag dalam file dan memuat ke dalam memori.
    • Jika tag berisi atribut runat="server", ASP.NET memuat komponen software yang disebut kontrol server. Nama tag menentukan tipe dari kontrol server.
    • Tag tanpa atribut runat="server" adalah tag HTML biasa, ASP.NET akan memuatnya kedalam komponen software dan kemudian tag aslinya akan dikirim kembali ke browser client.
  • Setelah memuat semua tag ke dalam memori, ASP.NET menjalankan kode program dari tiap-tiap kontrol server. Kode ini akan mengakses sumber dari server web, kode dapat mengubah isi atau properti dari kontrol server dihalaman dan dapat juga menambah atau menghilangkan kontrol server.
  • Ketika semua kode dalam kontrol server selesai dijalankan, ASP.NET secara berurutan memberitahu tiap kontrol untuk me-render dirinya.
    • Jika tag asli adalah HTML biasa, ASP.NET akan mengirim tanpa memodifikasi.
    • Jika tag asli yang dibuat adalah kontrol server, ASP.NET akan memanggil method kontrol Render untuk membuat HTML.
  • Susudah halaman meninggalkan server, ASP.NET melepas kontrol server dan sumber lainnya yang sudah dibuat sebelumnya.

Contoh ASP.NET

<script runat="server">
Sub button1(Source As Object, e As EventArgs)
   p1.InnerHtml="You clicked the blue button!"
End Sub
Sub button2(Source As Object, e As EventArgs)
   p1.InnerHtml="You clicked the pink button!"
End Sub
</script>
 
<html>
<body>
 
<form runat="server">
<button id="b1" OnServerClick="button1"
style="background-color:#e6e6fa;
height:25;width:100" runat="server">
Blue button!
</button>
<button id="b2"
OnServerClick="button2"
style="background-color:#fff0f5;
height:25;width:100" runat="server">
Pink button!
</button>
<p id="p1" runat="server" />
</form>
 
</body>
</html>
Read more →SEKILAS TENTANG ASP.NET