Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress | Tutorial Java SE


Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP


Ide Membuat Program Konversi Bilangan Biner ke Desimal


March 24th, 2009 | by rosihanari | Cetak Artikel Cetak Artikel


GampSMS SMS Gateway

Setelah beberapa waktu yang lalu saya memposting artikel tentang bagaimana membuat program konversi bilangan desimal ke biner, sekarang saya coba untuk membuat artikel kebalikannya.

Dalam judul ini sengaja saya kasih embel-embel ‘ide’ karena memang fokus dari artikel ini adalah menggambarkan idenya, dan bukan hanya sekedar menampilkan programnya saja.

OK.. misalkan diberikan sebuah bilangan biner atau bilangan berbasis dua 10110. Apakah Anda mengetahui konsep untuk mengkonversinya ke bentuk desimal atau bilangan berbasis 10? Anda mungkin telah mengetahui konsepnya ketika di perkuliahan. Bagi yang belum mengetahui, berikut ini adalah proses konversinya:

(10110)2 = 1×24 + 0×23 + 1×22 + 1×21 + 0×20
(10110)2 = 16 + 0 + 4 + 2 + 0 = 22

Dengan demikian hasil konversi bilangan biner 10110 ke desimal adalah 22.

Bila kita lihat dari contoh di atas, maka sebenarnya terdapat proses yang diulang-ulang dalam mengkonversi n digit bilangan biner yaitu menghitung bi x 2i, dengan i = n-1, n-2, n-3, …, 0 dan bi adalah digit biner ke-i. Selain menghitung bi x 2i, terdapat proses lain yang diulang-ulang yaitu menjumlahkan bi x 2i untuk setiap i.

Nah… berdasarkan konsep tersebut, OK… kita sudah mendapatkan idenya. Karena terdapat sesuatu yang diulang maka ketika kita akan membuat program untuk mengkonversinya, kita akan menggunakan looping yang dalam hal ini akan digunakan i sebagai counternya.

Namun… jika kita lihat konsep di atas, maka nilai i dimulai dari n-1, selanjutnya n-2 dst… sampai 0. Dengan kata lain, kita terlebih dahulu harus mengetahui nilai n nya yang dalam hal ini merupakan jumlah digit biner. Bagaimana cara mengetahuinya? Hmmm… Anda dapat dengan mudah mengetahuinya apabila bilangan binernya disajikan dalam bentuk tipe data string. Dengan demikian Anda bisa menggunakan function length() untuk mendapatkan panjang stringnya :-)

OK… we’ve got it… now let’s get into PASCAL program..

program konversiBiner2Dec;
var bilBiner : string;

{ function untuk menghitung a pangkat b}

function pangkat(a, b : integer) : integer;
var i, hasil : integer;
begin
   hasil := 1;
   for i:=1 to b do
   begin
       hasil := hasil * a;
   end;
   pangkat := hasil;
end;

{ function untuk menghitung konversi biner ke desimal }

function bin2Dec(biner : string) : integer;
var n, sum, i : integer;
begin
   n := length(biner);
   sum := 0;
   for i:= n-1 downto 0 do
   begin
       if (biner[n-i] = '0') then sum := sum + 0 * pangkat(2, i)
       else if (biner[n-i] = '1') then sum := sum + 1 * pangkat(2, i);
   end;
   bin2Dec := sum;
end;

begin
   bilBiner := '10110';
   write('Bilangan desimalnya : ', bin2Dec(bilBiner));
end.

Catatan:
Anda juga dapat mengubah blok for dalam function bin2Dec() menjadi seperti ini

for i:= n-1 downto 0 do
begin
    if (biner[n-i] = '0') then sum := sum;
    else if (biner[n-i] = '1') then sum := sum + pangkat(2, i);
end;

Mengapa demikian? Ya… karena ketika digit binernya 0, maka hasil jumlahannya tetap (tidak terpengaruh) sebagai akibat dari hasil perkalian 0 * pangkat(2, i) = 0.

OK.. demikian sedikit penjelasan mengenai bagaimana ide membuat program konversi dari biner ke desimal. Mudah-mudahan artikel ini bermanfaat bagi Anda dalam mencari ide membuat konversi bilangan basis yang lain ke desimal.




Share ke Facebook Share ke Twitter
Baca Juga Artikel Terkait
Membuat Program Konversi Bilangan Desimal ke Biner dengan Pascal
Mengatur Digit Desimal Bilangan Real di PHP
Function Menghitung Pangkat Bilangan dengan Pascal
Rahasia Dibalik Cara Pembuatan Program Tebak Angka
Memformat Bilangan dengan Function number_format()

Kata kunci: biner - desimal - konversi - pascal -


Ada 13 komentar dalam artikel ini.



  1. nasdi says:

    menurut saya program anda sudah baik. tolong kirimkan saya program konversi yang lainya karna saya ingin mempelajari yang lain nya. di tunggu balasanya

  2. zedzone says:

    menurut saya program yang anda buat cukup baik, bagaimana bila angka tersebut terdiri dari koma dan pecahan ???

    maaf sebelumnya dan terima kasih atas balasannya

  3. Aan says:

    Bisa tolong buatin program könvrsi angka ke kalimat ga kang, misal 25=dua puluh lima

  4. rizqi says:

    kk saya mau nanya tentang cara apa saja yang digunakan pada awal sampai akhir pembuatan konversi image ke word soalnya saya mau skripsi n rencananya saya mau ngmbil judul seperti itu tapi apakah butuh waktu yang lama untuk menyelesaikannya sedangkan saya masih tahap belajar……tolong bantuannya y kk

    thanx…..blas di email saya ja y kk (rizqi_jailani@yahoo.co.id)

  5. rizqi says:

    trus apakah sistem tersebut memakai algoritma dan metode untuk proses konversinya….tolong y kk penjelasannya

    thanx…..

    • rosihanari says:

      @rizqi: oh… kalo algoritma itu jelas pakai mas… membuat program tanpa algoritma itu tidak akan pernah bisa. Mungkin anda bertanya, lho lantas algoritmanya yang mana? algoritmanya ya.. ide pembuatan programnya itu (langkah-langkah penyelesaian masalah)

  6. rizqi says:

    oiy kk saya masih krang mengerti tntang algoritma n metode yg digunakan…bleh mnta contoh dari hasil yg anda perna gunakan gak,soalnya saya masih bngung (maaf y klo saya bnyak tanya soalnya saya masih baru belajar)

    thanx………

  7. paijo says:

    Mas cara belajar algoritma biar cepet bisa gmn??
    d bls ke emailq aja mas..
    Makasih…

  8. Mahmudi says:

    askum, pak saya pengen sekali belajar bahasa C, dari mana saya harus memulainya, trimakasih

  9. elfrida says:

    kalo program untuk mengubah bilangan desimal pecahan ke biner gimana ya? misalnya 189,567
    terimakasih sebelumnya :)



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*