Algoritma Konversi Bilangan Desimal ke bilangan Biner.
Bagaimana caranya membuat program konversi bilangan desimal ke bilangan biner ?:
Contoh : Masukan angka : 100 maka outpunya seperti ini.
100:2=50 sisa=0
50:2=25 sisa=0
25:2=12 sisa=1
12:2=6 sisa=0
6:2=3 sisa=0
3:2=1 sisa=1
1:2=0 sisa=1
Logikanya sebagai berikut.
Input adalah : sembarang bilangan yang dimasukan melalui keyboard
Prosesnya adalah dengan looping atau perulangan dengan WHILE.. DO
Akhir dari perulangan adalah saat HASIL BAGI bilangan menjadi 0
Untuk itu DIPERLUKAN LOGIKA TUKAR TEMPAT melalui BANTUAN VARIABEL/TEMPORARY VARIABEL untuk menyimpan hasil bagi dan sisahasil bagi.
Untuk jelasnya perhatikan algoritma di bawah dan urutan langkahnya.
Program konbin
Deskripsi
bilangan, sisa, tmpsisa, hasil, tmphasil : integer
begin
write('masukan sembarang bilangan integer')
read(bilangan)
hasil = bilangan div 2
sisa = bilangan mod 2
tmphasil =hasil
tmpsisa=sisa
write( 'hasil bagi'); write(bilangan); write('dengan bilangan 2'); write('=');write(sisa)
while tmphasil <> 0 do
hasil:=tmphasil;
sisa:=tmpsisa;
tmphasil := hasil div 2 ; tmpsisa:= hasil mod 2;
write('Hasil bagi '); write(hasil); write(' dengan 2 = '); write(tmphasil);
write(' Sisa : ');writeln(tmpsisa);
end
=======================
Desimal 100 konversi ke Binary, menulisnya dibalik dari bawah ke atas, hasilnya yaitu : 1100100
Bagaimana caranya membuat program konversi bilangan desimal ke bilangan biner ?:
Contoh : Masukan angka : 100 maka outpunya seperti ini.
100:2=50 sisa=0
50:2=25 sisa=0
25:2=12 sisa=1
12:2=6 sisa=0
6:2=3 sisa=0
3:2=1 sisa=1
1:2=0 sisa=1
Logikanya sebagai berikut.
Input adalah : sembarang bilangan yang dimasukan melalui keyboard
Prosesnya adalah dengan looping atau perulangan dengan WHILE.. DO
Akhir dari perulangan adalah saat HASIL BAGI bilangan menjadi 0
Untuk itu DIPERLUKAN LOGIKA TUKAR TEMPAT melalui BANTUAN VARIABEL/TEMPORARY VARIABEL untuk menyimpan hasil bagi dan sisahasil bagi.
Untuk jelasnya perhatikan algoritma di bawah dan urutan langkahnya.
Program konbin
Deskripsi
bilangan, sisa, tmpsisa, hasil, tmphasil : integer
begin
write('masukan sembarang bilangan integer')
read(bilangan)
hasil = bilangan div 2
sisa = bilangan mod 2
tmphasil =hasil
tmpsisa=sisa
write( 'hasil bagi'); write(bilangan); write('dengan bilangan 2'); write('=');write(sisa)
while tmphasil <> 0 do
hasil:=tmphasil;
sisa:=tmpsisa;
tmphasil := hasil div 2 ; tmpsisa:= hasil mod 2;
write('Hasil bagi '); write(hasil); write(' dengan 2 = '); write(tmphasil);
write(' Sisa : ');writeln(tmpsisa);
end
=======================
Contoh hasil eksekusi :
Desimal 100 konversi ke Binary, menulisnya dibalik dari bawah ke atas, hasilnya yaitu : 1100100
itu ada yg salah, seharusnya 3:2 = 1 sisa 1
BalasHapusjadi binernya 1100100
Benar
HapusTerimakasih koreksinya.
tmpsisa singkatan dri apa bg.
BalasHapus