Senin, 15 September 2014

Listing Program Untuk Mengkonversi Bilangan Desimal Ke Bilangan Biner PHP

Di artikel sebelumnya saya sudah membahas Bagaimana Cara Konversi Bilangan Desimal Ke Biner, Heksadesimal Dan Oktal secara manual. Meskipun kita sudah paham bagaimana cara menghitung manualnya tetapi terkadang kita ada sedikit ketidak yakinan dengan hasil akhir coret-coretan kita. 

Nah untuk menjawab ketidak yakinan tersebut maka tidak ada salahnya kita mencoba menerapkan listing program konversi bilangan desimal ke bilangan biner ini. Silahkan simpan listing kode di bawah ini dengan nama hitungan.php

<?php
$desimal = 222;
$original = 222;
$biner = '';

while($desimal>0){
if ($desimal%2 == 0){
$desimal /= 2;
$biner .= 0;
}
else {
$desimal = ($desimal/2)-0.5;
$biner .= 1;
}
$hasil_akhir = strrev($biner);
}
echo "<h2>Hasil konversi bilangan desimal $original adalah $hasil_akhir biner</h2>";
?>

Ganti variabel $desimal dan $original dengan angka desimal yang ingin anda konversi.


Saya akan menjelaskannya sedikit dari cara kerja listing kode php tersebut diatas.
Pertama saya membuat sebuah variabel $desimal dimana variabel ini yang nantinya akan dieksekusi sampai ke tahap berikutnya. Lalu saya membuat lagi sebuah variabel $original dimana variabel ini dibuat hanya untuk mencetak ke layar browser saja tanpa mengikuti proses-proses yang lain. Di bawah variabel $original saya membuat lagi sebuah variabel $biner yang nilainya sebelum dieksekusi adalah NULL.


Proses-proses yang dilakukan dalam program di atas adalah sbb:



While ($desimal > 0) {

Ini adalah sebuah fungsi perulangan, kode ini akan melakukan tugasnya jika persyaratan $desimal di awal tadi nilainya terpenuhi (yaitu jika lebih besar dari 0). Jika terpenuhi maka proses selanjutnya akan berjalan yaitu akan mengeksekusi percabangan logika if else


if ($desimal%2 == 0) {

Jika variabel $desimal (di awal tadi) dibagi dua dan sisa dari hasil pembagiannya sama dengan 0 maka akan melakukan proses perulangan $desimal /= 2 dan $biner .= 0 . Tapi jikalau sisa dari hasil pembagiannya tidak sama dengan 0 maka akan melakukan proses perulangan yang adal di blok else


$desimal /= 2;

Simak baik-baik posisi kode tersebut. Kode tersebut terletak diantara blok kode perulangan while dan percabangan logika if. Kode tersebut akan di eksekusi dan dijalankan berulang-ulang jika persyaratan $desimal%2 == 0 (baca: sisa dari hasil pembagian antara $desimal dibagi 2 adalah sama dengan 0) terpenuhi.


$biner .= 0;

Kode ini juga sama yaitu terletak diantara diantara blok kode perulangan while dan percabangan logika if. Kode tersebut juga akan dieksekusi dan dijalankan berulang-ulang jika persyartan $desimal%2 == 0 terpenuhi. Untuk menambah jelas perhitungan kira-kira seperti inilah rumus matematika sewaktu kita SD dulu
x /= y ---> x = x/y
x .= y ---> x = x.y
x *= y ---> x = x*y
x += y ---> x = x+y

Untuk memudahkan ilustrasi silahkan lihat contoh cara penggunaan operator .= berikut ini !!
contoh 1
$a = 1;
$b = 2;
$c = 3;

echo $a .= $b .= $c; #jika dijalankan maka akan mencetak angka 123

contoh 2
$a = 1;
$a .= 0;
$a .= 1;
$a .= 1;

echo $a; #jika dijalankan maka akan mencetak angka 1011

untuk kode yang berada di blok else yaitu kode $desimal = ($desimal/2)-0.5 dan kode $biner .= 1 saya rasa tidak terlalu sulit untuk dipahami karena kode tersebut hampir sama persis perhitungannya dengan kode yang berada di blok if



$hasil_akhir = strrev($biner);

Fungsi strrev() ini adalah untuk membaca suatu karakter dimulai dari belakang ke depan. Nilai yang dihasilkan dari perulangan while diatas adalah 01111011 maka setelah ditambahkan fungsi strrev() maka nilainya menjadi 11011110


Kata kunci: cara mudah mengkonversi bilangan desimal ke biner di PHP, bagaimana merubah bilangan desimal ke biner PHP, cara mengkonversi bilangan desimal ke bilangan biner di dalam PHP, merubah bilangan desimal ke biner sederhana, konvert desimal ke biner, konversi bilangan dengan php, script konversi bilangan desimal ke biner php, script php.

Jumat, 12 September 2014

Cara Mudah Konversi Bilangan Desimal Ke Biner, Heksadesimal Dan Oktal

Apa Itu Tipe Data Integer Di Dalam PHP

Tipe data integer adalah tipe data yang berupa angka bulat seperti 1, 22 dan -172. Jangkauan angka integer tergantung kepada kemampuan komputasi komputer. Namun biasanya dimulai dari angka -2, 147, 483, 648 sampai dengan +2, 147, 483, 648 atau 32bit dimana 1 byte = 8bit. Nilai integer dapat bernilai positif (+) maupun negatif (-) . Jika dalam penulisan tidak diberikan tanda maka diasumsikan nilai tersebut adalah positif. Selain digunakan untuk
menampung angka dengan base 10 (disebut juga angka desimal), tipe data integer juga digunakan untuk menampung angka base 16 (heksadesimal), base 8 (oktal), base 2 (biner). Tipe data integer adalah tipe data penting dalam pemrogramman. Dalam tutorial kali ini pertama kita akan memperlajari cara penulisan bilangan integer dalam pemrogramman PHP yaitu penulisan karakter desimal, heksadesimal, oktal dan biner.


Berikut cara penulisan bilangan integer di PHP


<?php
$usia = 25;
$harga = 15000;
$rugi = -45000;

echo $usia; #21
echo "<br />";
echo $harga; #15000
echo "<br />";
echo $rugi; #-45000
?>

Bagaimanakah penulisan bilangan integer heksadesimal di PHP ??



Heksadesimal biasa disebut dengan bilangan yang berbasis 16 seperti ini 3116  2316  8716
Bilangan heksadesimal adalah angka khusus yang bilangan penyusunnya terdiri dari 16 digit yaitu terdiri dari angka 0 - 9 dan huruf A - F. Angka heksadesimal ini biasanya digunakan untuk pemrosesan yang berkaitan dengan perhitungan komputer.
Inilah nilai-nilai bilangan heksadesimal

A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

Dalam pemrogramman web kita akan menemukan angka heksadesimal ini pada penulisan kombinasi warna merah ff0000, biru 0000ff, abu-abu cccccc serta kombinasi-kombinasi warna lainnya. Untuk membuat sebuah variabel integer yang berisi angka heksadesimal, sebelum karakter angka harus didahului dengan "0x". Karakter "0x" ini mengintruksikan kepada PHP bahwa angka setelahnya adalah heksadesimal. Misalkan angka heksadesimal 54FA ditulis dengan 0x54FA. Lihat cara penulisannya di bawah ini..

<?php
$angka_desimal = 31;
$angka_heksadesimal= 0x1F; //1F heksadesimal = 31 desimal
echo $angka_desimal; //31
echo "<br />";
echo $angka_heksadesimal; //31
?>

Dari contoh diatas, variabel $angka_desimal  dan $angka_heksadesimal sama-sama ditampilkan dengan nilai 31 dan perlu digaris bawahi bahwa PHP secara tidak langsung mengkonversi nilai $angka_heksadesimal menjadi nilai desimal.

Bagaimanakah penulisan bilangan integer oktal di PHP ??



Bilangan oktal biasa disebut dengan bilangan berbasis 8 seperti ini 238  328  418
Bilangan oktal adalah bilangan yang terdiri dari 8 digit. yaitu karakter 0-7 .Bilangan oktal sering digunakan untuk komputasi numerik dalam komputer. Untuk penulisan bilangan oktal ke dalam variabel PHP kita menggunakan tanda "0" diawal angka. Angka desimal 511 ditulis dalam bentuk oktal 777, sehingga penulisannya dalam PHP menjadi 0777.

<?php
$angka_desimal= 511;
$angka_oktal=0777; //777 oktal = 511 desimal
echo $angka_desimal; //511
echo "<br />";
echo $angka_oktal; //511
?>

Bagaimanakah penulisan bilangan integer biner di PHP ??


Bilangan biner biasa disebut dengan bilangan berbasis 2 contoh 110112   101112   1011002
Bilangan biner (atau binary) adalah bilangan yang terdiri dari 2 digit saja, yaitu 0 dan 1. Prinsip bilangan biner inilah yang mendasari perhitungan komputer. Bilangan biner kadang disebut juga dengan bilangan logika, yakni logika benar yang ditandai dengan (angka 1) dan logika salah yang ditandai dengan (angka 0). Di dalam PHP angka integer biner ditulis dengan awalan 0b (angka nol, dan huruf b). Nilai desimal 222 dalam notasi biner ditulis 11011110. Sehingga untuk menyimpannya di dalam variabel PHP ditulis dengan 0b11011110. 
Lihat cara penulisannya di bawah ini !

<?php
$angka_desimal = 222;
$angka_biner = 0b11011110; //11011110 biner = 222 desimal
echo $angka_desimal; //222
echo "<br />";
echo $angka_biner; //222
?>


Sampai disini sudah mengerti kan apa yang dimaksud dengan bilangan integer dan cara-cara penulisannya ke dalam variabel PHP ?? Kalau sudah mengerti kemudian tahap selanjutnya yang harus kita pelajari adalah bagaimana cara mengkonversi ke empat bilangan tersebut.

1. Cara Mengkonversi Bilangan Desimal Ke Biner



Langsung saja saya ambil sebuah contoh bilangan desimal yang akan dikonversi ke bilangan biner. Setelah itu akan saya kasih contoh lagi konversi masing-masing bilangan desimal ke oktal dan heksadesimal.

Silahkan simak baik-baik. !!

Misalkan bilangan desimal yang ingin saya konversi adalah 222. Maka langkah yang dilakukan adalah membagi tahap demi tahap angka 222 tersebut dengan 2, kenapa 2?? Karena bilangan biner itu disebut juga bilangan berbasis 2.

Soal   22210 = ....2
222  :  2  => 0    #nilai akhir
111 : 2 => 1
55 : 2 => 1
27 : 2 => 1
13 : 2 => 1
6 : 2 => 0
3 : 2 => 1
1 #nilai awal

Jadi hasil konversi 22210 adalah 110111102 ..Tenang akan saya jelaskan biar paham.

Simak lagi baik-baik proses perhitungan diatas !!
Langkah pertama yaitu menghitung 222:2 hasilnya 111 kemudian 111 itu saya simpan di bawah angka 222. Sedangkan angka 0 didadapat dari sisa pembagian 222:2, lalu angka sisa itu disimpan di samping kanan.

Langkah kedua 111:2 hasilnya 55 kemudian 55 itu disimpan lagi di bawah angka 111 . Sedangkan angka 1 didapat dari sisa pembagian 111:2 .Begitu seterusnya sampai angka yang hendak dibagi adalah mencapai 0. Sampai disini saya asumsikan anda sudah paham.
Nah setelah didapat perhitungan tadi pertanyaan nya adalah "hasil konversinya yang mana ??" Ya, hasil konversinya adalah urutan sisa-sisa perhitungan yang telah diperoleh, dimulai dari bawah ke atas. Maka hasilnya adalah 110111102   ...bagaimana paham ?? Untuk memastikan hasil perhitungan apakah benar atau salah silahkan baca Listing Program Untuk Mengkonversi Bilangan Desimal Ke Biner PHP
Lanjut..sekarang saya akan menjelaskan konversi bilangan pecahan desimal ke biner.

2. Cara Konversi Bilangan Pecahan Desimal Ke Biner



Soal  0,8437510 = .......2
0,84375  x  2 = 1,6875  => 1    #nilai awal
0,6875 x 2 = 1,375 => 1
0,375 x 2 = 0,75 => 0
0,75 x 2 = 1,5 => 1
0,5 x 2 = 1,0 => 1 #nilai akhir

Jadi hasil dari konversi 0,8437510  adalah  0,110112
Penjelasan :
Hasil dari konversinya ditulis dari atas ke bawah. Dan karena ini merupakan pecahan maka tambahkan angka 0 di depan hasil konversi sehingga nilainya menjadi 0, (nol koma).

3. Cara Konversi Bilangan Desimal Ke Oktal



Proses konversinya hampir mirip dengan proses konversi desimal ke biner, hanya saja kali ini pembaginya 8, kenapa 8 ?? Karena bilangan oktal adalah bilangan yang berbasis 8. Misalkan bilangan desimal yang ingin saya konversi adalah 3310 ..Maka perhitungannya sbb:

Soal 3310 = ....8
33  : 8  =>  1
4
Karena 4 sudah tidak bisa dibagi 8 maka proses pembagian selesai
Jadi contoh diatas hasilnya adalah 418 ..mudah bukan ??

4. Cara Konversi Bilangan Desimal Ke Heksadesimal



Soal  24310 = ....16
243  :  16  =>  3
15

Karena 15 sudah tidak bisa dibagi dengan 16 maka proses pembagian selesai.
Silahkan lihat lagi pembahasan tentang bilangan heksadesimal, angka 15 itu dilambangkan huruf apa?? betul,15 itu dilambangkan dengan huruf F. Jadi hasil konversi 24310  adalah F316


Oke sekian dulu postingan kali ini semoga bermanfaat. O'ya kalau ada yang salah tolong dimaafkan dan mohon kasih masukan. Dan nanti dilain kesempatan saya akan menjelaskan bagaimana cara mengkonversi bilangan biner ke desimal, biner ke heksadesimal dan biner ke oktal.

Kata kunci: konversi bilangan desimal ke biner, konversi bilangan desimal ke heksadesimal, konversi bilangan desimal ke oktal, konversi bilangan desimal ke hexa, konversi bilangan dengan php, script php, konversi bilangan biner, konversi bilangan heksadesimal, konversi bilangan oktal.