Rabu, 30 Oktober 2013

KOMPLEMEN 1 ,2 & FULL-ADDER

KOMPLEMEN 1 DAN 2

Dalam komputer terdapat dua buah cara merepresentasikan nilai negatif, yaitu komplemen satu (ones complement) dan komplemen dua (twos complement).
Komplemen satu merupakan suatu sistem penomoran yang diterapkan dalam beberapa jenis komputer untuk merepresentasikan nilai-nilai negatif. Pada cara ini terdapat aturan bahwa nilai 0 (nol) akan direpresentasikan dengan dua buah nilai, yaitu +0 (positif nol) dan -0 (negatif nol).
000…00011 = +3
000…00010 = +2
000…00001 = +1
000…00000 = +0
111…11111 = -0
111…11110  = -1
111…11101 = -2
111…11100 = -3
Dapat kita lihat dari aturan diatas, nilai +0 akan berpasangan dengan -0, +1 dengan -1, dan seterusnya. Ini menunjukkan bahwa negasi dari 0 adalah -0, negasi dari 1 adalah -1, dan seterusnya.
Terdapat kelemahan dalam aturan ini, yaitu ada nilai yang kurang benar sehingga diciptakannya aturan ke dua yaitu komplemen dua.
Komplemen dua mirip dengan komplemen satu, hanya saja dalam proses negasinya semua bit juga akan dibalik, sehingga tidak ada lagi rasa “bingung” merepresentasikan nilai +0 dan -0, karena hanya ada satu nilai 0 (nol), seperti berikut:
000…00011 = +3
000…00010 = +2
000…00001 = +1
000…00000 = 0
111…11111 = -1
111…11110 = -2
111…11101 = -3
111…11100 = -4
dari aturan di atas dapat kita lihat bahwa nilai 0 akan berpasangan dengan nilai -1, nilai +1 akan berpasangan dengan -2, dan seterusnya. Hal ini menunjukkan bahwa negasi dari 0 adalah -1, negasi dari +1 adalah -2, dan begitu seterusnya.

Sistem bilangan binari menggunakan basis (radix) 2 dan menggunakan dua macam simbol yaitu : 0 dan 1. Contoh bilangan binari yaitu : 1001 dapat diartikan dalam sistem bilangan desimal yaitu :

Position value sistem bilangan binari merupakan perpangkatan dari nilai basis yaitu perpangkatan nilai 2, seperti pada tabel berikut :

Atau dengan rumus :
Contoh :
Pertambahan Bilangan Binari
Pertambahan bilangan binari dilakukan dengan cara yang sama dengan pertambahan bilangan desimal. Dasar pertambahan untuk masing-masing digit bilangan binari adalah :

Contoh pertambahan bilangan binari :
Pengurangan Bilangan Binari
Pengurangan pada sistem bilangan binari dilakukan dengan cara yang sama pada sistem bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan adalah :

Contoh pengurangan pada sistem bilangan binari :

Pengurangan Dengan Komplemen (Complement)
Komplemen basis minus 1 (radix-minus-one complement)
Komplemen basis (radix complement)
Pada sistem bilangan desimal :
Kompelemen 9 (9s complement)
Komplemen 10 (10s complement)
Pada sistem bilangan binari :
Komplemen 1 (1s complement)
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 :

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 :

Contoh pembagian bilangan binari :


FULL-ADDER

Penjumlah atau Adder adalah komponen elektronika digital yang dipakai untuk menjumlahkan dua buah angka dalam sistem bilangan biner. Dalam komputer dan mikroprosesor, Adder biasanya berada di bagian ALU (Arithmetic Logic Unit). Sistem bilangan yang dipakai dalam proses penjumlahan, selain bilangan biner, juga 2's complement untuk bilangan negatif, bilangan BCD (binary-coded decimal), dan excess-3. Jika sistem bilangan yang dipakai adalah 2's complement, maka proses operasi penjumlahan dan operasi pengurangan akan sangat mudah dilakukan.

Diagram sirkuit Half-Adder
Pembicaraan mengenai Adder biasanya dimulai dari Half-Adder, kemudian Full-Adder, dan yang ketiga adalah Ripple-Carry-Adder. Pada Half-Adder, berdasarkan dua input A dan B, maka output Sum, S dari Adder ini akan dihitung berdasarkan operasi XOR dari A dan B. Selain output S, ada satu output yang lain yang dikenal sebagai C atau Carry, dan C ini dihitung berdasarkan operasi AND dari A dan B. Pada prinsipnya output S menyatakan penjumlahan bilangan pada input A dan B, sedangkan output C menyatakan MSB (most significant bit atau carry bit) dari hasil jumlah itu.
S = (A \oplus B)
C = (A \cdot B)
Tabel logika/kebenaran dari Half-Adder akan mengikuti seperti berikut:
Input Output
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Diagram blok Full-Adder
Rangkaian Full-Adder, pada prinsipnya bekerja seperti Half-Adder, tetapi mampu menampung bilangan Carry dari hasil penjumlahan sebelumnya. Jadi jumlah inputnya ada 3: A, B dan Ci, sementara bagian output ada 2: S dan Co. Ci ini dipakai untuk menampung bit Carry dari penjumlahan sebelumnya.
S = (A \oplus B) \oplus C_i
C_o = (A \cdot B) + (C_i \cdot (A \oplus B)) = (A \cdot B) + (B \cdot C_i) + (C_i \cdot A)

Diagram sirkuit Full-Adder
Input Output
A B C_i C_o S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Rangkaian dari n buah Full-Adder bisa dipakai untuk menjumlahkan n bit bilangan biner. Maka dalam hal ini, kita akan memperoleh rangkaian yang disebut Ripple-Carry-Adder.

Diagram sirkuit untuk ripple carry adder 4-bit

Tidak ada komentar:

Posting Komentar