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.
** Saya adalah seorang newbie sekaligus mastah abal-abal, segala sesuatu yang saya tulis bersumber dari pengetahuan dan opini pribadi. Oleh karena itu penting untuk tidak selalu mempercayai apa yang saya tulis. Keep Smile ^_^ and Enjoy it ** Berbagi itu indah, tolong bantu share ya bos !!

0 komentar:

Post a Comment

Silahkan berkomentar yang sopan, komentar yang memuat konten pornografi akan saya hapus dan komentar yang tidak berhubungan dengan artikel tidak akan saya terbitkan.