17 November 2016

Half and Full Adder



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 :
  1. Half Adder
  2. 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 8 bit : 00000000 - 11111111
                     : 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
           -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

10 November 2016

Karnaugh Map - Pertemuan 6


Membangun gerbang logika dari ekspresi boolean dapat dilakukan dengan salah 1 caranya adalah dengan mengurai satu persatu bagian ekspresi boolean menjadi bentuk gerbang.
Langkah-langkahnya adalah :

  1. Membuat ekspresi boolean yang akan dirancang gerbangnya
  2. Membuat gerbang umumnya (gerbang besarnya)
  3. Menguraikan setiap kaki input gerbang besar tersebut.
  4. Lakukan uraian terus terhadap kaki-kaki input lainnya.
  5. Lakukan untuk semua kaki input yang belum selesai diuraikan.

Misalnya diketahui ekspresi boolean --> F = A + B + C
Ekspresi tersebut dibaca F = (A OR B OR C)
Maka gerbang besarnya adalah fungsi OR, sehingga gerbangnya menjadi :


Bila diketahui ekspresi boolean : F =


Maka gerbang logika besarnya adalah fungsi OR (Sum Of Product), sehingga mula-mula dibangunlah gerbang OR sebagai berikut :


Yaitu gerbang OR dengan 3 buah input (A'B; AB'; B'C)
Kemudian uraikan masing-masing kaki menjadi lebih rinci.  Kaki paling atas akan diuraikan menjadi :


Dilanjutkan dengan menguraikan kaki ke 2 (AB') sebagai berikut :


Terakhir menguraikan kaki ke 3 (B'C) menjadi sebagai berikut :


Sehingga ekspresi boolean F = A'B+AB'+B'C telah selesai dilakukan.

KARNAUGH MAP

Peta Karnaugh adalah sebuah peta yang digunakan untuk membantu menyederhanakan ekspresi boolean menjadi bentuk yang lebih sederhana dan efisien.
Peta ini berbentuk matrik dengan ukuran sesuai dengan jumlah inputnya.  Misalnya jumlah input 2, maka matrik berisi ‘2n ’ menjadi 4 kotak.

  • —Dua variabel --> 4 kotak
  • —Tiga variabel --> 8 kotak
  • Empat Variabel --> 16 kotak 


Bagian sebelah kanan adalah gambar Karnagh map-nya dari tabel kebenaran dengan 2 input.  Apabila m0, m1,m2 dan m3 diisi dengan output yang dirancang, maka bentuknya menjadi :



Bila digunakan 3 variabel input, maka jumlah output adalah 8 dengan tabel dan peta karnaugh sebagai berikut :


Apabila output diisi dengan nilai sesuai dengan yang dirancang maka hasilnya adalah sebagai berikut :


Dan apabila inputnya 4, maka desain tabel dan karnaugh mapnya adalah sebagai berikut :


Apabila output diisi dengan nilai sesuai dengan rancangan, maka hasilnya adalah sebagai berikut :


Penyederhanaan Karnaugh Map

Bentuk-bentuk contoh sebelumnya itu adalah bentuk yang belum sederhana (ekspresi booleannnya), sehingga perlu adanya penyederhaan, yaitu dengan menggunakan Karnaugh Map.
Caranya adalah dengan pengelompokan-pengelompokan nilai '1' pada peta karnaugh dengan acuan nilai yang saling berdekatan.
Pengelompokkan nilai ‘1’ yang saling berdekatan ini terdiri atas :
  • —pairs (pasangan), 
  • —quads dan 
  • —octet.

Pairs

Metode ini akan dipakai dengan aturan menghilangkan 1 variabel.  Terlebih dahulu kelompokkan niai 1 yang berdekatan pada peta karnaugh dengan 2 nilai.  Misalnya sebagai berikut :


Kemudian kelompokkan angka 1 yang berdekatan (1 kelompok terdiri atas 2 angka 1), menjadi :


Baru dilakukan cek ekspresi yang diperoleh dari setiap kelompok menjadi sebagai berikut :


Kelompok paling kiri bernilai BC'D', diperoleh dari sisi kiri bernilai 01 dan 11 dimana bagian depannya (01 --> adalah 0; 11 --> adalah1) adalah miliknya A. Bagian belakang (01 --> adalah 1; 11 --> adalah1) adalah miliknya B.  sehingga milik A saling meniadakan karena bernilai 0 dan 1. Sedangkan B sama-sama bernilai 1, maka hasilnya adalah B 
Kemudian kalau dilihat ke atas (pada kelompok tersebut), maka angkanya adalah 00, yang artinya bahwa nilai C=0 dan D=0, sehingga untuk logika 1 yang dipakai, maka nilai C dinegasikan menjadi C' dan D menjadi D'.
Sehingga gabungannya menjadi BC'D'.
Begitu juga halanya dengan kelompok lainnya, bisa dilakukan metode seperti itu. dan diperoleh hasil F=BC'D'+A'B'D+ABC


Quards
Adalah metode penyederhanaan karnaugh dengan mengelompokkan nilai 1 terdekat dengan 4 nilai '1'.
Dengan metode ini, maka akan dihilangkan 2 buah variabel input, karena proses "saling meniadakan".
Misalnya diketahui peta karnaugh sebagai berikut :

Kemudian lakukan pengelompokkan empat empat (setiap kelompok terdiri atas 4 buah nilai '1') sebagai berikut :

Terlihat 2 kelompok, yaitu kelompok bujur sangkar dan kelompok persegi panjang.
Selanjutnya adalah melakukan cek ekspresi dari kelompok-kelompok tersebut.
Kelompok bujur sangkar kalau dilihat ke kiri, maka akan didapat 00 dan 01 (dimana nilai disisi kiri kepunyaan A dan nilai disisi kanan kepunyaan B).  Nilai tersebut bermakna bahwa A sama-sama  bernilai 0 sehingga : A' , dan nilai B saling meniadakan (karena berisi 0 dan 1), sehingga nilai B tidak dipakai.
Kalau dilihat ke atas, maka akan didapat 01 dan 11 (dimana nilai disisi kiri kepunyaan C dan nilai disisi kanan kepunyaan D).  Nilai C saling meniadakan jadi tidak dipakai, sedangkan nilai D adalah 1, maka hasilnya : D
Jadi kalau digabung maka dihasilkan A'D
Kelompok persegi panjang, kalau dilihat kekiri akan didapat nilai 11, artinya nilainya adalah AB
Dan kalau dilihat ke atas, semua nilai (C dan D) akan saling meniadakan, sehingga nilai DC tidak ada yang dipakai.
Akhirnya secara keseluruhan akan diperoleh nilai F = A'D + AB


Octet

Adalah penyederhanaan karnaugh map dengan mengelompokkan delapan-delapan (dalam 1 kelompok = 8 nilai '1').

Misalnya diketahui tabel karnaugh sebagai berikut :

Maka pengelompokan "8"-nya adalah sebagai berikut :


Dapat dilihat bahwa kekiri, didapatkan nilai B dan ke atas semua nilai saling meniadakan, jadi tidak ada yang dipakai (CD).

Sehingga nilai akhirnya adalah F=B.


Overlapping
—Mengelompokkan logika ‘1’ yg sama lebih dari 1 kelompok.


Terlihat ada angka "1" overlap dipakai oleh kedua kelompok (diperbolehkan).

Rolling

Mengelompokkan logika ‘1’ dg cara penggulungan

Terlihat nilai yang dipakai berada dipojok, sehingga bisa dilipat untuk memudahkan menghitung.


Redundant
Adalah pengelompokkan dengan terdapat kelompok berlebihan.


Terlihat dari gambar di atas, terdapat 3 kelompok nilai. Akan tetapi terdapat 1 kelompok (warna merah) yang sebenarnya nilai sudah masuk pada kelompok lain.  Inilah yang disebut redundant.  Sehingga nilai BC'D tidak diperlukan lagi dan menjadi :


Don't Care
yaitu pengelompokkan berdasarkan nilai2 yang tidak mempengaruhi hasil.


Konklusi
  1. —isikan nilai ‘1’ pada peta Karnaugh minterm dg nilai ‘1’ pada tabel kebenaran. Selanjutnya yang bernilai ‘0’.
  2. —lingkari oktet, quad dan pairs. Ingat roll dan overlap untuk memperluas pengelompokan
  3. —jika ada sisa bernilai ‘1’ lingkari
  4. —hilangkan kelompok yang berlebihan
  5. —tuliskan persamaan Boolean dengan meng OR kan perkalian dari kelompok lingkaran

Materi di 4shared dapat didownload : DISINI