Hasil A - B = 0 1 0 1 0 0 0 1 = 8110
3.1.2.2. Pengurangan Bilangan Biner Melalui Komplement dan Penjumlahan
Aturan pengurangan yang tertulis pada 3.1.2.1. untuk sistem microcomputer tidak cocok,
oleh karena itu digunakan cara komplement dan penjumlahan.
Komplement adalah hasil inverter dari bilangan biner. Cara meng-inverter atau
negasi dari bilangan biner biasanya disebut One's Complement atau
Einerkomplement atau Komplemen Satu.
Contoh
Data A = 1 0 0 1 1 0 1 0 dan data B = 0 1 0 0 1 0 0 1 akan dikurangkan ,
Data B dikomplemen
Data B = 0 1 0 0 1 0 0 1
Komplemen satu B = 1 0 1 1 0 1 1 0
Pengurangan
Langkah Pertama
Data A = 1 0 0 1 1 0 1 0
Komplemen satu B = 1 0 1 1 0 1 1 0
Hasil Sementara A + B = 1 0 1 0 1 0 0 0 0
Hasil Sementara
Sisa ( Carry )
Langkah Kedua
Karena menghasilkan sisa ( carry ) 1( high ), maka dapat disimpulkan bahwa hasil
pengurangannya adalah bilangan Positip yang artinya bahwa pengurang lebih kecil
dibandingkan dengan yang dikurangi. Jika dilakukan pengecakan dari hasil pengurangan
( hasil sementara ), maka hasil di atas kurang 1 (satu) dibandingkan dengan hasil yang
seharusnya ( 010100002 = 8010 ). Untuk mengoreksi hasil pengurangan tersebut maka
hasil sementara ditambah dengan 1 sehingga hasil yang dimaksud menjadi,
Hasil Sementara = 0 1 0 1 0 0 0 0
1
Hasil A B = 0 1 0 1 0 0 0 1 = 8110
Cara di atas tidak berlaku jika hasil pengurangan adalah bilangan negatip yang artinya
bahwa carry-nya 0 ( low ). Untuk dapat melakukan proses pengurangan yang dimaksud
lihat contoh di bawah ini.
Contoh
Data A dikurangi dengan data B ( Bilangan pengurang lebih besar dari pada bilangan yang
dikurangi ),
Data A = 0 1 0 0 1 0 0 1 = 73
10
Data B = 1 0 0 1 1 0 1 0 = 15410
Data B dikomplemen
Data B = 1 0 0 1 1 0 1 0
Komplemen satu B = 0 1 1 0 0 1 0 1 Teknik Mikroprosessor 3 8 Operasi Arithmatik
Pengurangan
Langkah Pertama
Data A = 0 1 0 0 1 0 0 1
Komplemen satu B = 0 1 1 0 0 1 0 1
Hasil Sementara A + B = 0 1 0 1 0 1 1 1 0 Hasil sementara
Sisa ( Carry )
Langkah Kedua
Pada tempat sisa ( carry ) berlogika 0 ( low ), maka dapat disimpulkan bahwa hasil
pengurangannya adalah bilangan Negatip yang artinya bahwa pengurang lebih
besar dibandingkan dengan yang dikurangi. Hasil setelah melalui proses
komplemen berupa bilangan positip, sedangkan tanda negatip harus kita
tambahkan ( karena sisa 0 ), dan jika diteruskan diperoleh,
Hasil Sementara = 1 0 1 0 1 1 1 0
Komplemen Satu = 0 1 0 1 0 0 0 1
Hasil = 0 1 0 1 0 0 0 1
Jadi Hasil pengurangannya adalah 0 1 0 1 0 0 0 1 = 8110
Mengoreksi hasil seperti cara diatas dapat dihindari dengan menggunakan cara
menggunakan Twos Complement atau Zweierkomplement atau Komplemen Dua.
Komplemen Dua didapatkan dari Komplemen Satu ditambah dengan 1.
Contoh
Data A = 0 1 0 0 1 0 0 1
Komplemen Satu A = 1 0 1 1 0 1 1 0
Komplement Dua 1 0 1 1 0 1 1 1
Contoh
Data A = 1 0 0 1 1 0 1 0
Data B = 0 1 0 0 1 0 0 1
Data B dikomplemen
Data B = 0 1 0 0 1 0 0 1
Komplemen satu B = 1 0 1 1 0 1 1 0
Komplemen Dua ( B + 1 ) = 1 0 1 1 0 1 1 1
Pengurangan
Data A = 1 0 0 1 1 0 1 0
Komplemen Dua ( A + 1 ) = 1 0 1 1 0 1 1 1
Hasil = 1 0 1 0 1 0 0 0 1
Pada Carry berlogika 1 yang berarti bahwa hasil pengurangan tersebut adalah bilangan
positip, sedangkan 8 bit berikutnya tanpa harus mengalami perubahan adalah hasil
pengurangannya.
Contoh
Kurangkan data A dan data b di bawah ini,
Data A = 0 1 0 0 1 0 0 1
Data B = 1 0 0 1 1 0 1 0
Data B dikomplemen
Data B = 1 0 0 1 1 0 1 0
Komplemen satu B = 0 1 1 0 0 1 0 1
Komplemen Dua ( B + 1 ) = 0 1 1 0 0 1 1 0
Pengurangan
Data A = 0 1 0 0 1 0 0 1
Komplemen Dua ( B + 1 ) = 0 1 1 0 0 1 1 0
Hasil = 0 1 0 1 0 1 1 1 1
Pada tempat sisa ( carry ) berlogika 0 ( low ), maka dapat disimpulkan bahwa hasil
pengurangannya adalah bilangan Negatip dan harus dikoreksi. Dengan jalan megKomplemen Dua-kan sekali lagi hasil pengurangannya dan menambahkan tanda
negatip ( - ) di depan bilangan tersebut maka diperoleh hasil yang sudah benar
yang secara rinci diuraikan seperti di bawah ini,
Hasil = 1 0 1 0 1 1 1 1
Komplemen Satu = 0 1 0 1 0 0 0 0
1
Komplemen Dua = 0 1 0 1 0 0 0 1
Jadi Hasilnya adalah 0 1 0 1 0 0 0 1 = 8110
Bilangan biner Negatip diperoleh dengan cara meng-Komplemen Dua-kan bilangan
positipnya.
Teknik Mikroprosessor 4 0 Operasi Arithmatik
Contoh
Bilangan Biner A = 0 1 0 0 1 0 0 1 = + 7310
Komplemen Dua ( A + 1 ) = 1 0 1 1 0 1 1 1 = - 7310
Bilangan Biner B = 0 1 1 1 1 1 1 1 = + 12710
Komplemen Dua ( B + 1 ) = 1 0 0 0 0 0 0 1 = - 12710
Bilangan Biner C = 0 0 0 0 0 0 0 1 = + 110
Komplemen Dua ( C + 1 ) = 1 1 1 1 1 1 1 1 = - 110