Jadi agar data-data desimal yang kita miliki dapat diproses dalam suatu mikroprosesor perlu
adanya program untuk mengubah bilangan desimal tersebut ke dalam bilangaan heksadesimal. Dan
agar hasil pengolahan data yang dilakukan mikroprosesor dapat dimengerti, perlu adanya program
untuk mengubah data heksadesimal ke dalam data desimal.
Sasaran belajar
Komputer
ASCII keyboard
Teori penunjang
Untuk mengubah suatu bilangan heksadesimal menjadi bilangan desimal salah satu cara yang
dapat dipergunakan adalah dengan memperhitungkan bobot angka dari digit masing-masing pada
bilangan heksadesimal tersebut.
Contoh 8.1
Untuk megubah bilangan heksadesimal 5A dapat dilakukan dengan mengalikan bobot angka
darimasing-masing digit heksadesimal tersebut sehingga diperoleh 5 x 16 1 + 10 x 160 atau (5 x 16) +
(10 x 1) yang nilainya sama dengan 90 dalam sistem bilangan desimal.
Metoda konversi yang dipergunakan pada contoh 8.1 di atas dapat juga dipergunakan untuk
membuat program konversi yang dapat mengubah data-data dari bentuk heksadesimal menjadi
desimal. Jika metoda tersebut yang akan dipergunakan, maka pertama-pertama digit satuan (A atau
10) dan digit enam belasan (5 atau 05) harus dipisahkan.
Kemudian digit enam belasan harus dikalikan dengan faktor pengali 16 dan hasil
perkaliannya harus ditambahkan pada digit satuan yang telah diubah ke dalam desimal. Dalam
program konversi tersebut yang perlu diperhatikan adalah proses mengalikan digit enam belasan
dengan faktor pengali enam belas tadi mengingat hasil perkalian yang diinginkan adalah dalam sistem
bilangan desimal.
Mengalikan suatu bilangan dengan faktor pengali 16 sebenarnya sama saja dengan
mengalikan bilangan tersebut dengan faktor pengali 2 sebanyak empat kali (Y x 16 = (Y x 2 x 2 x 2 x
2 = 16Y)). Jadi jika suatu bilangan digandakan sebanyak empat kali pengaruhnya sama saja dengan
mengalikan bilangan tersebut harus dilaksanakan sedemikian rupa, sehingga hasilnya dinyatakan
dalam sistem bilangan desimal yaitu dengan menggunakan instruksi DAA pada akhir setiap proses
penggandaan.
Untuk mengubah suatu bilangan desimal menjadi bilangan heksadesimal dapat dilakukan
dengan membagi bilangan tersebut dengan faktor pembagi 16. Hasil koversi diperoleh pada proses
pembagian terkhir. Masalahnya adalah dalam mikroprosesor 8085 tidak ada instruksi pembagian.
Oleh karena itu proses pembagian harus dilakukan dengan metoda pengurungan berantai yang
caranya cukup rumit.
Cara lain yang dapat ditempuh dan lebih sederhana adalah dengan memperhitungkan bobot
angka dari bilangan desimal yang akan dikonversikan ke bilang heksadesimal tersebut. Misalkan
untuk mengubah bilangan desimal dua digit 47 ke dalam bilangan heksadesimal, caranya adalah
dengan menglikan digit puluhan faktor pengali 10 kemudian menambahkan hasil kali yang diperoleh
dengan digit satuan (47 = 4 x 10 + 7).
Jadi untuk membuat program konversi bilangan desimal ke heksadesimal yang pertama-tama
perlu dilakukan adalah memisahkan antara digit satuan dan digit puluhan. Kemudian mengalikan digit
puluhan dengan faktor pengali 10 dan menambahkan digit satuan pada hasil perkalian tersebut. Yang
perlu diperhatikan dalam proses konversi bilangan tersebut adalah car mengalikan digit puluhan
dengan faktor pengali 10 perlu dicari cara lain, karena dalam mikroprosesor 8085 tidak ada instruksi
perkalian. Salah satu cara yang dapat ditempuh adalah dengan menggunakan faktor pengali 8 dan
faktor pengali 2.
Jika suatu bilangan dikalikan dengan faktor pengali 10 sama saja pengaruhnya dengan
menjumlahkan hasil kali bilangan tersebut dengan faktor pengali 2 dan faktor pengali 8. Dalam
matematika T x 10 = (T x 2) + (T x8).
A.1 Buatlah bagan alir dan program untuk megubah data desimal yang berada dalam blok memori
alamat F000h sampai F00Fh menjadi data heksadesimal. Simpan hasilnya pada blok memori
alamat F100h sampai F10Fh. Tulis program tersebut muali alamat 7000h.
A.2 Bagan alir untuk langkah A.1 adalah :
Start
HL = F000H
A = A + 00H A TO (BCD)
DE = F100H
<< A A=A+A
A = A + 00H A TO (BCD) DE A
A TO (BCD) A=A+A
HL = HL + 1
A M (HL) A TO (BCD) DE = DE + 1
YES
A=A+A C=C-1
C
NO
END
A.3 Program untuk langkah A.1 adalah sebagai berikut :
A.4 Isilah blok memori alamat F000h sampai F00Fh dengan data-data desimal seperti yang ditunjuk
pada tabel 8.2
INPUT OUTPUT
A.5 Eksekusi program saudara, kemudian periksa dan catat data-data hasil konversi yang diperoleh
pada Tabel 8.2 kolom 4
Mengubah data heksadesimal menjadi data desimal
B.1 Buatlah bagan alir dan program untuk mengubah dara heksadesimal yang berada dalam
blok memori alamat F200h sampai F20Fh menjadi data desimal. Simpan hasilnya pada
blok memori alamat F300h sampai F30Fh. Tulis program tersebut mulai alamat 8000h.
HL = F200H
A = A + 00H A TO (BCD)
DE = F300H
<< A A=A+A
A = A + 00H A TO (BCD) DE A
A TO (BCD) A=A+A
HL = HL + 1
A M (HL) A TO (BCD) DE = DE + 1
YES
A=A+A C =C-1
C
NO
END
B.4 Isilah blok memori alamat F200h sampai F20Ah dengan data-data heksadesimal seperti yang
ditunjukkan pada Tabel 8.4.
INPUT OUTPUT
F204 2B F304 60
F205 29 F305 20
F206 30 F306 96
F207 3F F307 92
F208 38 F308 12
F209 45 F309 68
F20A 4D F30A 84
F20B 52 F30B 40
F20C 5A F30C 44
F20D 8F F30D 16
F20E 60 F30E 68
F20F 63 F30F 48
B.5 Eksekusi saudara, kemudian periksa dan catat data-data hasil konversi yang diperoleh
pada Tabel 8.4 kolom 4.
B.6 Jelaskan perubahan apa yang perlu dilakukan apabila program di atas akan
dipergunakan untuk mengubah data-data heksadesimal yang nilainya lebih besar dari
63h.
Berdasarkan seluruh hasil percobaan Pada bab ini, tuliskan kesimpulan dan sara-saran
saudara.
A.
B.
Analisa
Setelah kita melakukan praktikum pada konversi bilangan kita dapat menganalisa
bahwa konversi bilangan ini kita gunakan untuk nengkonvesikan dalam bentuk
desimal ke bentuk heksadesimal atau pun dalm bentuk heksadesimal ke bentuk
desimal.
Seperti rogram yang telah kita jalankan
Untuk mengubah bilangan heksadesimal 5A, dapat dilakukan dengan mengalikan
bobot angka dari masing-masing digit heksadesimal tersebut hingga diperoleh:
5 x 16 + 10 X 16 atau (15 x 16) + (10 x 1) yang nilainya sama dengan 90 dalam
system bilangan decimal. dipergunakan untuk membuat program konversi yang dapat
mengubah data-data dari bentuk hexadecimal menjadin decimal. Jika metode tersebut
yang akan dipergunakan, maka pertama-tama digit satuan (A atau 10) dan digit enam
belas (5 atau 05) harus dipisahkan.
Dan kita juga mengunakan instruksi DAA àdigunakan sebagai instruksi desimal.
RAR à diputar untuk melibatkan cary
ADD A à ( A ) ß ( A ) + ( B )
ADI 0f0H à ( A ) ß ( A ) AND 0F0H
Perintah ADI ini digunakan untuk mengisi data dengan F0H
Penggunan data yamg dijumlahkan dan dikurangkan.pada setiap praktikumyang telah
kita jalankan
Untuk mengubah bilangan decimal ke bilangan hexadecimal dapat dilakukan
dengan membagi bilangan tersebut dengan factor pembagi 16. Masalahnya adalah
dalam mikroprosesor 8085 tidak ada instruksi pembagian. Oleh karena itu proses
pembagian harus di lakukan dengan metode pengurangan berantai yang caranya
cukup rumit.
Jadi untuk membuat program konversi bilangan dari decimal ke hexadecimal
yang pertama tama perlu dilakukan adalah memisahkan antara digit satuan dan digit
puluhan. Kemudian mengalihkan digit puluhan dengan factor pengali 10 dan
menambahkan digit satuan pada hasil perkalian tersebut.
Jika suatu bilangan dikalikan dengan factor pengali 10 sama saja pengaruhnya
dengan menjumlahkan hasil kali bilangan tersebut dengan fktor pengali 2 dan factor
pengali 8. Dalam matematika T x 10 = (T x 2) + (T x 8).
8.6. Kesimpulan
Setelah kita menganalisa praktikum pengkonversi bilangan kita dapat menyimpulkan
bahwa konversi bilangan ini kita lakukan dengan mengubah bentuk data dari
heksadesimal dalam bentuk desimal, dan begitu juga dalam bentuk desimal ke bentuk
heksadesimal.
Konversi bilangan ini langsung Konversi bilangan daro bilangan sistem decimal ke
hexadecimal diperlukan mengingat semua data yang kita milikii tersedia dalam
sistem bilangan decimal, sedangkan mesin ganya mengenal sistem bilangan
komplemen dua ( sistem bilangan hexadecimal komplemen enam belas). Sebaiknya
konversi bilangan dari sistem bilangan hexadecimal ke decimal juga sangat penting
mengingat data output yang dihasilkan oleh mikroprosesor masih dalam sistem
bilangan decimal.