Anda di halaman 1dari 11

Modul4

4.ALU 4.1.ALU(ArithmeticandLogicUnit) Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah komputer.Didalamoperasiaritmetikainisendiriterdiridariberbagaimacamoperasi diantaranya adalah operasi penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk melakukanperhitunganALUadalahAdder. 4.1.1.Adder Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Karena Adder digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika.ALUakandijelaskanlebihdetailpadabab 3.Ada2jenisAdder: 1.Rangkaian Adderyanghanyamenjumlahkan duabit disebutHalfAdder. 2.Rangkaian Adderyangmenjumlahkan tigabit disebutFullAdder. 3.RangkaianAdderyangmenjumlahkanbanyakbitdisebutparalelAdder

4.1.1.1. HalfAdder Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masing masinghanyaterdiridarisatubit,olehkarenaitudinamakanpenjumlahtaklengkap. 1.JikaA=0danB=0dijumlahkan,hasilnyaS(Sum)=0. 2.JikaA=0danB=1dijumlahkan,hasilnyaS(Sum)=1. 3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan Cy(CarryOut)=1. Dengandemikian,halfaddermemiliki2masukan(AdanB)danduakeluaran(Sdan Cy). A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 Cy 0 0 0 1

Tabel4.1.

1
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

Daritabeldiatas,terlihat bahwa nilai logikadariSumsamadengan nilai logikadari gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar berikut:

Gambar4.1.

4.1.1.2. FullAdder Fulladdermengolahpenjumlahanuntuk3bitbilanganataulebih(bittidakterbatas), olehkarenaitudinamakanrangkaianpenjumlahlengkap.Perhatikantabelkebenaran dari Fulladderberikut: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1


Tabel 4.2.

S 0 1 1 0 1 0 0 1

Cy 0 0 0 1 0 1 1 1

Daritabeldiatasdapatdibuatpersamaanbooleansebagaiberikut: S =ABC+ ABC+ ABC+ ABC


S =A B C

Cy =ABC+ ABC+ ABC+ ABC Denganmenggunakanpetakarnaugh,Cydapatdiserhanakanmenjadi: Cy=AB+AC+BC

2
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

Gambar4.2.

4.1.1.3. ParallelAdder Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan berfungsiuntukmenjumlahbilanganbinerberapapunbitnya,tergantungjumlahFull Adder yang diparallelkan. Gambar berikut menunjukkanParallel Adder yang terdiri dari4buahFullAdderyangtersusunparallelsehinggamembentuksebuahpenjumlah 4bit.
B4 A4

OverFlow

FA
Cin

S4

B3 A3

Cy

FA

S3

Cin

B2 A2

Cy

FA

S2

Cin

B1 A1

Cy

FA S1
Cin

Gambar4.3.

3
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

4.2.1.Penjumlahan Komputer hanya dapat melakukan proses aritmetika menggunakan bilangan biner. Semua sistem bilangan harus diubah terlebih dahulu ke biner agar dapat diproses. Proses yang biasa dilakukan oleh komputer untuk menjumlahkan sistem bilangan desimal biasanya adalah menyandikan ke 8421BCD terlebih dahulu sebelum dijumlahkan.Sebelummempelajaritentangpenjumlahanpada8421BCD,adabaiknya mengetahuicaramenjumlahkanbilanganbiner. a.PenjumlahanBiner Ada4kondisiyangterjadipadapenjumlahanbineryaituapabila0+0,0+1,1+0, dan 1 + 1. Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah dalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalam kolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh padabilangandesimal2+5=7dengan carryout =0,9+9=8dengan carryout=1. Contoh: 1.102 +102 1 10 10 100 2.01002 +01112 1 0100 0111 + 1011 3.111112 +11112 +111012 +101112 3 3 3 2 2 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 + 1 1 0 0 0 1 0
2

Carryout

Carry

Carryout

4
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

b.Penjumlahan8421BCD Sandi8421BCD hanya menggunakan bilangan bineruntuk0sampai9,karena yang disandikanhanya1digitangkadesimal.Dalampenjumlahanyangperludiperhatikan adalahjikahasilnyalebihdari9sehinggaakandihasilkanauxillarycarry(Carrydari bilangankeempatLSB)maupun carrydariMSB. Berikutadalahaturanpenjumlahansandi8421BCD: JikajumlahbinerdanjumlahBCDsama,yaituAC(AuxillaryCarry)=0danCarry =0makatidakdiperlukanaturantambahan. Contoh: Bilangan1 = 0 1 1 0 Bilangan2 = 0 0 1 0 Biner BCD = 1 0 0 0 = 1 0 0 0 0 0 1 0 (BCD) = 6 2 (desimal) 0 1 0 1 (BCD) = 2 5 (desimal) + 0 1 1 1 0 1 1 1 (Cy=0AC=0) = 8 7 (desimal)

Jikajumlahbinertidaksamadenganjumlahdesimalmakamemerlukanpengaturan tambahan: Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasil penjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada nible rendahtersebut,dantambahkan1padanibleyanglebihtinggi.

Contoh: 1 Bilangan1 Bilangan2 Biner +1&+6 BCD = 0 0 1 1 = 0 0 1 0 = 0 1 0 1 = 0 0 0 1 = 0 1 1 0 1 1 0 1 1 1 (BCD) = 3 7 (desimal) 0 1 1 0 (BCD) = 2 6 (desimal) + 1 1 0 1 0 1 1 0 0 0 1 1 (Cy=0AC=0) = 6 3 (desimal)

4.2.2.Pengurangan Pengurangan pada dasarnya merupakan penjumlahan, yaitu penjumlahan dengan bilangannegatif. 5
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

500255=245(Pengurangan) 500+()255=245(Penjumlahan) Komputer hanya bekerja pada bilangan 0 dan 1 dan tidak mengenal bilangan negatif.Untukmenunjukkanbilangannegatif,komputermenggunakantandamodulus (Modulus Sign). Pada penjumlahan desimal tanda modulus yang digunakan adalah 0 untuk bilangan positif dan 9 untuk bilangan negatif. Untuk bilangan negatif, padaoperasipenjumlahannya,harusdikomplemen.Komplemenyangdigunakanpada bilangandesimaladalahkomplemen10dankomplemen9.

PenguranganBilanganDesimal Komplemen10 Padakomplemen10,bilangannegatifdikurangkan9,kemudianditambahkan1pada bit terakhir. Pada penjumlahannya, bila ada carry, carry tersebut dapat dihilangkan. Tandamodulusikutdijumlahkan. Contoh: Komplemen10dari 255. 25510 =(9)74510 (angka9menunjukkantandamodulusnya). 5 0 0 2 5 5 2 4 5 (0) 5 0 0 (9) 7 4 5 + 1 (0) 2 4 5 Cy Dihilangkan

Komplemen9 Padakomplemen9, bilangan negatifdikurangkan9.Bilaadacarry, maka carry ikut dijumlahkanpadahasilakhir. Contoh: Komplemen9dari 255. 25510 =(9)74410 (angka9menunjukkantandamodulusnya). 5 0 0 2 5 5 2 4 5 (0) 5 0 0 (9) 7 4 4 + 1 (0) 2 4 4 1 +(Cy) (0) 2 4 5 Cy Ditambahkan 6
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untuk komplemen10 dan komplemen9). Jika komplemen10, maka hasil akhir setelah dikomplemen harus ditambah 1. Jika komplemen10, hasil akhirnya merupakanhasilsebenarnya(tidakperluditambah1). Contoh: Komplemen10dari 500. 50010 =(9)50010 (angka9menunjukkantandamodulusnya). 2 5 5 5 0 0 2 4 5 (0) 2 5 5 (9) 5 0 0 + (9) 7 5 5 (9menunjukkannegatif) 2 4 4 +1 (9) 2 4 5

Komplemen9dari 500. 50010 =(9)49910 (angka9menunjukkantandamodulusnya). 2 5 5 5 0 0 2 4 5 (0) 2 5 5 (9) 4 9 9 + (9) 7 5 4 (9menunjukkannegatif) 2 4 5 (9) 2 4 5

PenguranganBilanganBiner Pada penjumlahan biner, komplemen yang digunakan adalah komplemen2 dan komplemen1. Untuk mendapatkan komplemen bilangan biner, cukup dengan membalikangkanyasaja.Jika 0dibalik menjadi 1,dan jika 1dibalik menjadi 0. Komplemen2 mirip dengan komplemen10 pada bilangan desimal (Carry dihilangkan), sedangkan komplemen1 mirip dengan komplemen9 (Carry ditambahkanpadahasilakhir). Komplemen2

Contoh: Penguranganantara910(10012)dengan510 (01012) Komplemen2dari 5(0101). 7


D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

0101=(1)1011(angka1menunjukkantandamodulusnya). 9 5 4 (0) 1 0 0 1 (1) 1 0 1 1 + 1 (0) 0 1 0 0 Cy Dihilangkan

Komplemen1

Contoh: Komplemen1dari 5(0101). 0101=(1)1010(angka1menunjukkantandamodulusnya). 9 5 4 (0) 1 0 0 1 (1) 1 0 1 0 + 1 (0) 0 0 1 1 1 (0) 0 1 0 0 Cy Ditambahkan

Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untukkomplemen2dankomplemen1).Jikakomplemen2,makahasilakhirsetelah dikomplemen harus ditambah 1. Jika komplemen1, hasil akhirnya merupakan hasil sebenarnya(tidakperluditambah1). Contoh: Penguranganantara510 dengan910 Komplemen2dari 9. 1001=(1)0111(angka1menunjukkantandamodulusnya).

5 9 4

(0) 0 (1) 0 (1) 1 0 (1) 0

1 1 1 0 1

0 1 0 1 0

1 1 0 1 0

+ (1menunjukkannegatif) +1

8
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

Komplemen1dari 9. 1001=(1)0110(angka1menunjukkantandamodulusnya). 5 9 4 (0) 0 (1) 0 (1) 1 0 (1) 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 + (1menunjukkannegatif)

4.2.3.Perkalian Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem bilanganlainnya. 9 10 x 90 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 x 0 0 0 0 0 0 1 0 0 1 1 0 1 0 +

64 0 16 8 0 2 0 = 90

PadaTeknikKomputer,perkaliandilakukanmenggunakanregistergeserkanan(Shift RightRegister).Perhatikancontohberikut:

RegisterAuntukmenyimpandatayangakandikalikan(Multiplicand). RegisterBuntukmenyimpandatapengali(Multiplier). RegisterPuntukmenyimpanhasilperkalian.

9
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

9X10 RegisterA 1 0 0 1 RegisterB 1 0 1 0 M RegisterP 0 0 0 0 0 0 0 0 M=0,Reg.P tidakdiubah GeserRegB&P1bitkekanan 1 0 0 1 1 0 1 M 0 0 0 0 0 0 0 0 M=1,RegAditambahkanpadaPdi MSBnya. 1 0 0 1 0 0 0 0 GeserRegB&P1bitkekanan 1 0 0 1 1 0 M 0 1 0 0 1 0 0 0 M=0,Reg.Ptidakdiubah GeserRegB&P1bitkekanan 1 0 0 1 1 M 0 0 1 0 0 1 0 0 M=1,RegAditambahkanpadaPdi MSBnya 1 0 1 1 0 1 0 0 Reg.Pgeserlagi 0 1 0 1 1 0 1 0 0 64 0 16 8 0 2 0 =90

4.2.4.Pembagian Kebalikandariperkalian,pembagian(Division)adalahsuatubentukdaripengurangan yangdilakukan berulangulang.Danproses ini jugadapatdilakukanpadarangkaian logika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shiftleft register).Berikutadalahaturandaripembagian: Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi (Dividend),lihathasilpengurangan.

Bilahasilnya1ataupositif: Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser kekirisatubit,dandimulailagipenguranganolehbilanganpembagi(Divisor). 10
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul4

Bilahasilnya0atau negatif : Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiri harusditambahduludenganbilanganpembagi(Divisor).Setelahdigeserkekirisatu bit, dimulai lagi proses pengurangan oleh bilangan pembagi. Pengurangan oleh bilangan pembagi dilakukan dengan penjumlahan komplemen2. Bila dalam penjumlahan tersebut terdapat pindahan (Carry), maka carry tersebut diabaikan. Perhatikancontohberikut: 1010 :410=10102 :1004

Pembagi (0) 1 0 0

YangDibagi (0) (1) 1 (0) (0) (1) (1) (0) 1 (0) (0) (1) 1 (0) 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0

HasilBagi

Keterangan Kurangkanbil.pembagi

1 1

Hasilpositif,hasilbagi=1 Digeserkekirisatubit Kurangkanbil.pembagi

1 0

Hasilnegatif,hasilbagi=0

1 0

Digeserkekirisatubit Kurangkanbil.pembagi

1 0 1

Hasilpositif,hasilbagi=1

Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang dihasilkan setelahituadalahdigitpecahan,sehinggahasilyangbenar10,12 atau2,510.

11
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Anda mungkin juga menyukai