Metode Komplemen
Bilangan Desimal & Binary
Sebelum membahas tentang Metode Komplemen
Desimal & Binary alangkah baiknya kita mengetahui apa itu
komplemen dan beberapa metode komplemen untuk masing-masing sistem bilangan.
Komplemen digunakan dalam komputer digital untuk
merepresentasikan dan manipulasi bilangan negatif atau untuk menyederhanakan
operasi pengurangan dan manipulasi logika. Ada dua jenis komplemen untuk setiap
sistem bilangan dengan basis R, yaitu komplemen R dan komplemen R-1. Jika nilai
basis tersebut disubsitusikan, maka dua jenis komplemen untuk sistem bilangan
desimal, biner oktal, dan heksadeimal adalah sebagai berikut:
- Bilangan desimal (basis-10) : Komplemen 10 dan komplemen 9
- Bilangan biner (basis-2) : Komplemen 2 dan komplemen 1
- Bilangan oktal (basis-8) : Komplemen 8 dan komplemen 7
- Bilangan heksadesimal (basis-16) : komplemen 16 dan komplemen 15
Karena kali ini
kita akan membahas tentang Komplemen Desimal & Binary maka saya akan
menjelaskan beberapa aturan dari masing masing komplemen,
1. Komplemen
Desimal & Aturannya
- Komplemen 9 => Tiap digit desimal dikurangkan pada angka sembilan
- Komplemen 10 => Komplemen 9 ditambah dengan 1
Contoh :
Desimal
|
# 872
|
654
|
354
|
Komplemen 9
|
# 127
|
345
|
645
|
Komplemen 10
|
# 128
|
346
|
646
|
Penjabarannya :
Desimal
|
# 354
|
Komplemen 9
|
# (3+6=9, 5+4=9, 4+5=9)
|
Komplemen 10
|
# 645+1=646
|
2. Komplemen Binary
& Aturannya
- Komplemen 1 => Tiap digit binary dikurangkan pada 1
- Komplemen 2 => Komplemen 1 ditambah 1
Contoh :
Biner
|
# 100110
|
100111
|
011010
|
Komplemen 1
|
# 011001
|
011000
|
100101
|
Komplemen 2
|
# 011000
|
011001
|
100100
|
Penjabarannya :
Desimal
|
# 101100010
|
Komplemen 1
|
# 0 diganti 1 dan 1 diganti 0
|
Komplemen 10
|
# 101100010 + 1
|
Extra
Pengetahuan Untuk Komplemen 1 & 2 Pada Komplemen Binary
(One's
Complement & Two's Complement)
Di dalam
matematika, bilangan negatif biasanya dinyatakan dengan cara menambahkan tanda
− di depan bilangan tersebut. Namun di dalam komputer, bilangan hanya dapat
dinyatakan sebagai kode biner 0 dan 1 tanpa ada simbol yang lainnya, sehingga
diperlukan suatu cara untuk mengkodekan tanda minus. Beberapa metode yang dapat
digunakan untuk menyatakan bilangan bertanda di sistem bilangan biner adalah:
sign-and-magnitude, komplemen satu (ones' complement), dan komplemen dua (two's
complement). Komputer modern pada umumnya menggunakan metode komplemen dua,
namun metode lain juga digunakan pada situasi tertentu.
1.
Komplemen 1 (One's
Complement)
Sistem yang dikenal dengan nama komplemen satu (ones'
complement) juga dapat digunakan untuk merepresentasikan bilangan negatif.
Bentuk komplemen satu untuk bilangan biner negatif diperoleh dengan cara
membalik seluruh bit dari bilangan biner positifnya. Bit yang bernilai 0
dibalik menjadi 1, dan bit yang bernilai 1 dibalik menjadi 0. Seperti pada
metode sign-and-magnitude, di metode komplemen satu ini ada dua cara
merepresentasikan bilangan nol, yaitu : 00000000 (+0) dan 11111111
([-0|−0]).
Contoh, bentuk komplemen satu dari 00101011 (43) adalah
11010100 (−43). Jangkauan dari bilangan bertanda dengan komplemen satu adalah
-(2N-1-1) sampai (2N-1-1) dan +/-0. Untuk sistem 8-bit
(byte) jangkauannya adalah -12710 sampai +12710 dengan
nol bisa berbentuk 00000000 (+0) atau 11111111 (-0).
Metode komplemen-1
merupakan metode yang sederhana, proses dilakukan dengan membalik (invers)
tiap-tiap bit. misal dalam sistem bilangan 8 bit, bilangan positif dimulai dari
0000 0000 - 0111 1111 = 0 - 127 bilangan negatif dimulai dari 1111 1111 - 1000
0000 = -1 - (-128). langkah langkah untuk mengkonversi dari bilangan desimal ke
bilangan komplemen-1:
· Jika bilangan desiam positif, bilangan
komplemen-1 adalah bilangan biner biasa.
· Jika bilangan desimal negatif, bilangan
komplemen-1 dicari dengan cara.
· Mengkomplemenkan setiap bit dalam bilangan
biner
Langkah-langkah
dalam operasi pengurangan menggunakan komplemen-1 (untuk sistem 8 bit)
Misal A - B = A +
(-B) = A + komplemen-1 (B):
· Ubah A menjadi bilangan positif komplemen-1
· Ubah B menjadi bilangan negatif komplemen
-1
· Jumlahkan hasil yang diperoleh dari langkah
diatas
· Jika terdapat carry, maka jumlahkan carry
ke hasil
· Jika hasil penjumlahan pada bit 8 (MSB) adalah
1 maka hasil pengurangan adalah negatif
· Jika hasil penjumlahan pada bit 8 (MSB)
adalah 0, makahasil pengurangan adalah positif, untuk mengetahui nilai
desimalnya, lakukan konversi bilangan komplemen-1 menjadi bilangan desimal.
Contoh: 11-12 = ?
Jawaban :
11 - 12 = 11 +
(-12)
= 11 + komplemen-1
(12)
Dimana:
1110 = 0000 10112
1210 = 0000 11002 komplemen-1
(12) = 1111 00112
Sehingga:
11 - 12 = 0000
1011 + 1111 0011
= 1111 1111
= -110
Komplemen 2 (2s
complement)
Contoh pengurangan
dengan komplemen 9 :
Komplemen 9 dari
suatu sistem bilangan desimal dilakukan dengan mengurangkan angka 9 untuk
masing-masing digit dalam bilangan pengurangan. Perhatikan, pada komplemen 9,
digit paling ujung kiri dipindahkan untuk ditambahkan pada digit paling kanan.
Contoh pengurangan
dengan komplemen 10 :
Komplemen 10 dari
bilangan desimal adalah hasil komplemen 9 ditambah 1, misalnya komplemen 10
dari nilai 321 adalah 679 (atau dengan cara 1000-321 = 679). Pada komplemen 10,
hasil digit paling ujung kiri dibuang (tidak dipergunakan).
Cara yang sama
dapat dilakukn pada sistem bilangan binari.
Contoh pengurangan
dengan komplemen 1 :
Komplemen 1 di
sistem bilangan binari dilakukan dengan mengurangkan setiap bit dari nilai 1,
atau dengan cara mengubah setiap bit 0 menjadi 1 dan bit 1 menjadi 0. Dengan
komplemen 1, hasil digit paling kiri dipindahkan untuk ditambahkan pada bit
paling kanan.
Contoh pengurangan
dengan komplemen 2 :
Komplemen 2 adalah
hasil dari komplemen 1 ditambah 1, misalnya komplemen 2 dari bilangan binari
10110 adalah 01010 (dari komplemen 1 yaitu 01001 ditambah 1). Dengan komplemen
2, hasil digit paling kiri dibuang (tidak digunakan).
Perkalian Bilangan
Binari
Perkalian bilangan
binari dilakukan dengan cara yang sama dengan perkalian pada sistem bilangan
desimal. Dasar perkalian untuk masing-masing digit bilangan binari adalah :
0
x0 = 0
0
x 1 = 0
1
x 0 = 0
1
x 1 = 1
Contoh perkalian bilangan
binari :
Perhatikan, ada 2
keadaan dalam perkalian bilangan biner, jika pengali adalah bilangan 1, maka
cukup disalin saja, jika pengali adalah bilangan 0, maka hasilnya semuanya 0.
Pembagian Bilangan
Binari
Pembagian pada
bilangan binari dilakukan dengan cara yang sama dengan pembagian bilangan
desimal. Pembagian dengan 0 tidak mempunyai arti, sehingga dasar pembagian
digit binari adalah :
0
: 1=0
1:1=1
Contoh pembagian
bilangan binari :
2.
Komplemen 2 (Two's
Complement)
Di dalam metode komplemen dua, bilangan negatif
direpresentasikan dengan cara menambahkan satu pada bentuk komplemen satu dari
suatu bilangan positif. Di dalam metode komplemen dua, hanya ada satu bilangan
nol (00000000).
Misalnya, bentuk komplemen satu dari 00101011 (43) adalah
11010100 (−43). Bentuk komplemen duanya adalah: 11010100 + 1 = 11010101.
pengertian komplemen 1 adalah sebagai berikut :
1110 komplemen 1 nya adalah 0001
1101 komplemen 1 nya adalah 0010
0001 komplemen 1 nya adalah 1110
0111 komplemen 1 nya adalah 1000
Selanjutnya pengertian komplemen 2 adalah bilangan biner yang
terjadi jika ditambahkan 1 terhadap komplemen 1, yaitu :
Contoh untuk mencari komplemen 2 dari suatu bilangan biner.
- Komplemen 2 dari 1100 adalah 0011 + 1 = 0100
- Komplemen 2 dari 1011 adalah 0100 + 1 = 0101
- Komplemen 2 dari 0101 adalah 1010 + 1 = 1011
- Komplemen 2 dari 110010 adalah 001101 + 1 = 001110
Setelah dipahami langkah untuk mencari komplemen 1 dan
komplemen 2 suatu bilangan biner, maka penerapannya untuk pengurangan bilangan
biner dapat diuraikan seperti di bawah ini.
- a. Pengurangan Biner dengan Komplemen 1
Bilangan biner yang akan dikurangi dibuat tetap dan bilangan
biner sebagai pengurangnya di komplemen 1, kemudian dijumlahkan. Namun, jika
dari penjumlahan tersebut ada bawaan putaran ujung (end-around carry – atau
biasanya disebut dengan istilah CARRY), maka bawaan tersebut ditambahkan untuk
mendapatkan hasil akhir. Untuk lebih jelasnya perhatikan contoh berikut ini .
- Hitunglah besaran nilai bilangan biner 1011 – 0111.
Jawab :
1011 (bilangan
biner yang dikurangi)
- 1000 +
(komplemen 1 dari 0111)
End-arround
carry 10011
0011
1 +
0100
Jadi 1011 – 0111 = 100
- Hitunglah besaran nilai bilangan biner 11110 – 10001
Jawab :
11110
01110 + (komplemen 1 dari 10001)
End – arround
carry 10 1100
01100
1 +
01101
Jadi 1110 – 10001 = 01101
Jika dari penjumlahan tersebut tidak terdapat bawaan (carry),
maka hasil penjumlahan bilangan yang dikurangi dengan komplemen 1 bilangan
pengurangnya adalah bilangan negatif, dimana hasil akhirnya negatif dari hasil
komplemen 1 hasil penjumlahan tadi.
Contoh lain untuk kejelasan hal tersebut adalah sebagai
berikut :
- Berapa hasil dari 01110 – 11110 ?
- Berapa hasil dari 01011 – 10001 ?
Karena tidak ada bawaan (carry), maka hasil akhirnya adalah –
00110 yaitu komplemen 1 dari 11001 (untuk jawaban no. 2)
- b. Pengurangan Biner dengan Komplemen 2
Untuk pengurangan bilangan biner dengan komplemen 2, dapat
dilakulakan dengan langkah-langkah seperti berikut.
Bilangan biner yang dikurangi tetap kemudian bilangan biner
sebagai pengurangnya di komplemen 2, untuk kemudian dijumlakan. Apabila
hasilnya ada bawaan, maka hasil akhir dari adalah hasil penjumlahan tersebut
tanpa bawaan atau bawaan diabaikan. Perhatikan beberapa contoh berikut ini.
- Berapakah 1100 – 0011?
Jawab :
1100
1101 +
(komplemen 2 dari 0011)
11001
Diabaikan
Jadi hasilnya 1100 – 0011 = 1001
- Berapakah 110000 – 011110 ?
Jawab : 110000
011110 +
(komplemen 2 dari 011110)
1010010
Diabaikan
Jadi hasilnya adalah 010010
Ada permasalahan yang muncul, bagaimana bila hasil
perhitungan dari bilangan yang dikurangi dengan komplemen 2 bilangan
pengurangnya tanpa CARRY ? Untuk
mengatasi hal tersebut ditempuh dengan cara pengurangan dengan komplemen 1,
yang hasil akhirnya negatif dan hasil perhitungan tersebut di komplemen 2
merupakan hasil akhirnya. Sebagai contohnya :
- Berapa hasil 01111 – 10011 ?
Jawab :
01111
01101 +
(komplemen 2 dari 10011)
11100
Jadi hasil akhirnya adalah – 00100 yaitu komplemen 2 dari
11100
2. Berapa hasil 10011 – 11001 ?
Jawab :
10011
00111 +
(komplemen 2 dari 11001)
11010
Jadi hasil akhirnya adalah – 00101 yaitu komplemen 2 dari
11010.
- 2. Operasi perkalian dan pembagian bilangan biner
Perkalian biner juga dapat dilakukan seperti perkalian
desimal, bahkan jauh lebih mudah karena pada perkalian biner hanya berlaku 4
hal, yaitu :
0 x 0 = 0; 0 x 1 = 0; 1 x 0 = 0; 1 x 1 = 1
Untuk lebih jelasnya dapat dilihat seperti beberapa contoh di
bawah ini.
- Berapkah hasil perkalian dari 1011 dengan 1001 ?
1011 –> disebut Multiplikan (bilangan
yang dikali) = MD
1001 –> disebut Multiplikator (bilangan
pengali) = MR
1011 –> atau desimalnya 11
1001 x
–> atau desimalnya 9
1011
0000
0000
1011 +
1100011 –> 1.26 + 1.25 +
1.21 + 1.20
64 + 32 + 2 + 1 = 99
- Berapakah 10110 x 101
Jawab :
10110
101 +
10110
00000
10110 +
1101110
- Berapakah 1100 x 1101 ?
Jawab :
1100
1101 +
1100
0000
1100
1100 +
10011100
- Berapakah 111 x 101 ?
Jawab :
111
101 +
111
000
111 +
100011
Full Adder dan Half Adder
Entri tersebut dipublikasikan pada November 10, 2012, dalam
topik Kampus, Teknologi, Tugas Kampus. Bookmark permalinknya. Tinggalkan
Komentar
Full adder adalah rangkaian elektronik yang bekerja
melakukan perhitungan penjumlahan sepenuhnya dari dua buah bilangan binary,
yang masing-masing terdiri dari satu bit. Rangkaian ini memiliki tiga input dan
dua buah output, salah satu input merupakan nilai dari pindahan penjumlahan,
kemudian sama seperti pada half adder salah satu outputnya dipakai sebagai
tempat nilai pindahan dan yang lain sebagai hasil dari penjumlahan.
Full Adder dapat digunakan untuk menjumlahkan
bilangan-bilangan biner yang lebih dari 1bit. Penjumlahan bilangan-bilangan
biner sama halnya dengan penjumlahan bilangan decimal dimana hasil penjumlahan
tersebut terbagi menjadi 2bagian, yaitu SUMMARY (SUM) dan CARRY, apabila hasil
penjumlahan pada suatu tingkat atau kolom melebihi nilai maksimumnya maka
output CARRY akan berada pada keadaan logika.
2. FULL ADDER
Sebuah Full Adder menjumlahkan dua bilangan yang telah
dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi
yang sama saling dijumlahkan. Full Adder sebagai penjumlah
pada bit-bit selain yang terendah. Full Adder menjumlahkan dua
bit input ditambah dengan nilai Carry-Out dari penjumlahan bit
sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan
bit kelebihannya (carry-out). Blok diagram dari sebuah full
adder diberikan pada gambar 8-4.