Cara manual mengubah bilangan desimal ke biner adalah dengan membagi bilangan desimal tersebut dengan 2 kemudian sisa dari hasil pembagiannya diambil sebagai bilangan biner. Misalnya bilangan desimal tersebut adalah 24. Bilangan 24 ini dibagi dua kemudian sisanya dicatat, hasilnya dibagi lagi dengan 2 terus hingga tidak bisa dibagi lagi. Lebih jelasnya seperti ini :
24 : 2 -> Sisa nya 0
Hasilnya 12.
12 : 2 -> Sisanya 0
Hasilnya 6.
6 : 2 -> Sisanya 0
Hasilnya 3
3 : 2 -> Sisanya 1
Haslnya 1.
Jadi Bilangan desimal 24 memiliki biner 1 1 0 0 0. Diambil dari bawah ke atas.
Nah itu manualnya kalo kita mau buat programnya kita buat dulu algoritmanya. Bisa berupa flowchart seperti dibawah ini :
Nah dari flowchart ini jelas. Kalau belum jelas juga saya akan mencoba untuk menjelaskan. Awalnya kita siapkan dua buah variabel yaitu Des dan Bin. Des dengan tipe data integer dan Bin dengan tipe data string. Kemudian langkah selanjutnya adalah melakukan input data berupa bilangan biner yang akan disimpan ke variabel Des. Kemudian kita deklarasikan nilai awal dari variabel Bin yaitu Bin = ‘ ‘. Disini Bin adalah string yang memiliki nilai spasi. Atau jika ditampilkan variabel Bin akan tampil kosong.
Kemudian kita buat repeat-until. Until hingga Des bernilai 0. Didalam repeat-until ini ada program yang bertugas mengkonversikan bilangan desimal ke biner tersebut. Jika variabel Des Mod 2 = 0, maka deklarasikan Variabel Bin = ‘0′ + Bin (Ingat bawah variabel bin ini adalah string, sehingga nilainya tidak akan dijumlahkan tetapi ditambahkan misalnya ‘0′ + ‘1′ menjadi ‘01′ bukan 1).
dan jika Des mod 2 tidak sama dengan 0 makan deklarasikan Variabel Bin = ‘1′ + Bin.
Kemudian deklarasikan Variabel Des = Des div 2 (div adalah hasil pembagian bulat, misalnya 3 div 2 sama dengan 1 bukan 1,5). Program akan berulang hingga mendapati nilai dari Varibel Des = 0. Setelah itu dicetak Variabel Bin.
Untuk lebih jelas lagi saya coba buatkan programnya dengan Pascal sebagai berikut :
Uses wincrt;
Var Des : Integer;
Bin : String;
Begin
Write (‘Masukan Bilangan Desimal : ‘);
ReadLn (Des);
Bin := ‘ ‘;
Repeat
Begin
{Menghitung Biner Dari Sisa Hasil Bagi}
If Des mod 2 = 0 Then Bin := ‘0′ + Bin
Else Bin := ‘1′ + Bin;
{Membagi Bulat Bil Desimal}
Des := Des div 2;
End;
Until Des = 0;
WriteLn (‘Bilangan Biner : ‘,Bin);
End.
Hasil dari program tersebut dapat dilihat pada gambar dibawah ini :
No comments:
Post a Comment
Silahkan masukkan komentar sobat, komentar sobat sangat berarti buat saya