Halo guys....kali saya akan posting tentang pengertian dan penjelasan tentang Half Adder dan Full Adder.
Rangkaian Adder (penjumlah) adalah rangkaian elektronika digital yang digunakan untuk menjumlahkan dua buah angka (dalam sistem bilangan biner), sementara itu di dalam komputer rangkaian adder terdapat pada mikroprosesor dalam blok ALU (Arithmetic Logic Unit).
Terdapat 2 macam penjumlahan, yaitu :
- Half Adder
- Full Adder
Half Adder
Adalah penjumlahan berdasarkan dua input, yaitu A dan B, maka outpunya adalah S(sum). S atau sum ini akan dihitung berdasarkan implementasi operasi logika XOR dari A dan B. Selain Output S(sum), masih ada lagi output lain yang kita kenal dengan C(carry), nah sedangkan output C(carry) ini dihasilkan dari implementasi operasi logika AND.
Prinsipnya adalah output S itu menyatakan hasil penjumlahan input A dan B, sedangakan C adalah menyatakan MSB (most significant bit atau carry bit) dari penjumlahan tersebut.
Full-adder
Adalah penjumlahan berdasarkan dua input seperti di atas (half-adder), maka prinsip kerjanya juga sama seperti half-adder, hanya saja Full-adder mampu menampung carry dari hasil penjumlahan sebelumnya. Sehingga dengan adanya carry tersebut, maka jumlah inputnya sewaktu-waktu bisa jadi 3 (tergantung kondisi carrynya, apakah aktif/tidak).
Sebelumnya sudah disepakati bahwa :
0+0=0
1+0=1
0+1=1
1+1=0, carry = 1
Sehingga dengan itu maka akan diperoleh contoh penjumlahan sebagai berikut :
Carry
| |||||
A
|
0
|
1
|
0
| ||
B
|
1
|
0
|
1
|
+
| |
Sum
|
1
|
1
|
1
|
Carry
|
1
| ||||
A
|
1
|
0
|
0
|
1
| |
B
|
1
|
0
|
1
|
+
| |
Sum
|
1
|
1
|
1
|
0
|
Carry
|
1
|
1
| |||
A
|
0
|
0
|
1
| ||
B
|
1
|
1
|
1
|
+
| |
Sum
|
1
|
0
|
0
|
0
|
Bilangan Bertanda
Bilangan yang tidak memiliki tanda ‘+’ ataupun ‘-’
Contoh :
Bilangan yang tidak memiliki tanda ‘+’ ataupun ‘-’
Contoh :
bilangan 8 bit : 00000000 - 11111111
: 00 - FFH
: 0 – 255
Misalnya :
Bilangan yang memiliki tanda ‘+’ ataupun ‘-’
Bit MSB (most significant bit) akan menjadi penanda bahwa angka yang tertulis adalah ‘+’ ataupun ‘-’
‘0’ : tanda positif, dan
‘1’ : tanda negatif.
Contoh :
: 00 - FFH
: 0 – 255
Penjumlahan pada bilangan tak bertanda dapat mengakibatkan overflow sehingga dibutuhkan bit carry untuk menampung nilai yang tidak bisa disimpan karena kapasitas simpannya.
Misalnya :
1+1=10, angka 1 pada 10 itu tidak bisa disimpan karena penjumlahannya hanya menggunakan 1 bit saja, sedangkan hasilnya merupakan angka 2 bit (jadi ada kelebihan 1 bit). Kelebihan 1 bit tersebut tidak bisa tersimpan / overflow karena ngga punya tempat.
Bilangan yang memiliki tanda ‘+’ ataupun ‘-’
Bit MSB (most significant bit) akan menjadi penanda bahwa angka yang tertulis adalah ‘+’ ataupun ‘-’
‘0’ : tanda positif, dan
‘1’ : tanda negatif.
Contoh :
+38 = 0 0 1 0 0 1 1 0
-38 = 1 0 1 0 0 1 1 0
+25 = 0 0 0 0 0 0 0 1 1 0 0 1
-25 = 1 0 0 0 0 0 0 1 1 0 0 1
Range bilangan bertanda
Pada bilangan 8 bit : -127 s/d 127 (mengapa cuma 127 kok bukan 255 ? karena range mulainya berubah dari -127 s/d 127, kalau dihitung jumlahnya sama, yaitu 255. Sedangkan untuk bilangan tidak bertanda mulainya dari 0 s/d 255).
negatif : -1 → 1000 0001
Range bilangan bertanda
Pada bilangan 8 bit : -127 s/d 127 (mengapa cuma 127 kok bukan 255 ? karena range mulainya berubah dari -127 s/d 127, kalau dihitung jumlahnya sama, yaitu 255. Sedangkan untuk bilangan tidak bertanda mulainya dari 0 s/d 255).
negatif : -1 → 1000 0001
-127 → 1111 1111
positif : +1 → 0000 0001
+127 → 0111 1111
Half Adder (1 bit)
Adalah penjumlahan angka biner dengan jumlah bit hanya 1, misalnya : 1+0=1; 0+1=1 dan 1+1=0; carry 1
Dengan menggunakan fungsi Sum Of Product, maka diperoleh :
S(um)=A'B+AB' atau menjadi S=A⊕A
C(arry)=AB
Sehingga diperoleh bentuk gerbang seperti pada gambar x.
Full Adder
Pada penjumlahan full adder ini, maka carry out dari kolom penjumlahan menjadi carry in pada kolom sebelah kirinya untuk ikut dijumlah dengan variabel input (misalnya Carry in+A+B). Sehingga fungsi penjumlahannya menjadi sempurna.
Fungsi penjumlahan full adder bisa ditunjukkan dengan menggunakan tabel kebenaran seperti pada tabel 2.
Tabel 2. Tabel kebenaran fungsi full adder
Cin
|
A
|
B
|
S(um)
|
Cout
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
Sesuai dengan tabel tersebut, maka Output S(um) mempunyai persamaan :
S(um)=Cin'A'B+Cin'AB'+CinA'B'+CinAB
yang bisa disederhanakan menjadi :
Bentuk karnaugh map-nya tidak bisa disederhanakan, karena posisi angka 1 tidak bersandingan.
Sedangkan output Cout kalau dilihat dari tabel, maka mempunyai persamaan :
Cout=Cin'AB+CinA'B+CinAB'+CinAB
Kalau disederhakan dengan menggunakan karnaough map, maka diperoleh :
Sehingga dari peta karnaugh tersebut diperoleh gerbang logika seperti terlihat pada gambar m.
Dengan menggunakan Logisim, maka diperoleh gambar seperti pada gambar 5.
Untuk full adder 4 bit digambarkan seperti pada gambar 6.
Contoh :
Carry
|
1
| ||||
A
|
1
|
0
|
0
|
1
| |
B
|
0
|
1
|
0
|
1
|
+
|
Sum
|
1
|
1
|
1
|
0
|
Untuk materi dari link dari 4Shared dapat didownload DISINI
No comments:
Post a Comment