Você está na página 1de 48

Unit aritmetika dan logika (arithmetic-logic unit, disingkat ALU) merupakan bagian pengolah bilangan dari sebuah komputer.

Artinya bahwa selain melakukan operasi aritmetika, bagian komputer ini juga melaksanakan operasi logika

Empat metoda komputasi dasar yang dilakukan oleh ALU komputer : penjumlahan, pengurangan, perkalian, dan pembagian. Rangkaian ALU dasar terdiri atas gerbang OR, AND, dan rangkaian full adder 1 bit. Rangkaian full adder 1 bit pada rangkaian ALU dasar pada awalnya hanya melakukan penjumlahan unsigned number. Pengembangan lebih lanjut pada rangkaian ALU dasar mampu melakukan operasi pengurangan.

Op

A B

0
A

Op

1 Cin

C
B

Binver 0 1

Cin

+
Cout

+
Cout

Tanpa Fungsi Pengurangan

Dengan Fungsi Pengurangan

Operasi Aritmatika Dasar


Addition / Penjumlahan

Complements

Subtraction / Pengurangan

Penjumlahan Biner
(a)

0 +0 0 1 +0 1

(b)

0 +1 1
(d)

(c)

1 +1 10

Carry Bit

Contoh Penjumlahan Biner dengan operand lebih dari 1 bit


(a) (b) (c)

1011 + 1100 10111


(d)

1010 + 100 1110


(e)

1011 + 101 10000

101 + 1001 1110

10011001 + 101100 11000101

Komplemen ke 2
Metode untuk menyatakan bit bertanda digunakan sistem komplement kedua (2s complement form)

Komplemen ke 1
Biner 0 diubah menjadi 1 Biner 1 diubah menjadi 0

Misal

Biner Awal Komplemen pertama

Membuat Komplemen ke 2
1. Ubah bit awal menjadi komplemen pertama 2. Tambahkan 1 pada bit terakhir (LSB) Misal

1 0 0

0 1 1

1 0 0

1 0 0

0 1 1

1 0 1 1

Biner Awal = 45 Komplemen 1 Tambah 1 pada LSB Komplemen 2

Pengurangan Biner
Pengurangan Biner diimplementasikan dengan menjumlahkan Twos complement bilangan yang akan dikurangkan. Twos Example 1101 -1001 1101 +0111 10100

complement of 1001

Carry yang dihasilkan dapat diabaikan. Sehingga, hasilnya adalah 0100.

Menyatakan Bilangan Bertanda dengan Komplemen ke 2

1. Apabila bilangannya positif, magnitude dinyatakan dengan biner aslinya dan bit tanda (0) diletakkan di depan MSB. 2. Apabila bilangannya negatif, magnitude dinyatakan dalam bentuk komplemen ke 2 dan bit tanda (1) diletakkan di depan MSB

0
Bit Tanda

Biner = + 45

Biner asli

Biner = - 45

Bit Tanda

Komplemen ke 2

Negasi
Operasi mengubah sebuah bilangan negatif menjadi bilangan positif ekuivalennya, atau mengubah bilangan positif menadi bilangan negatif ekuivalennya. Hal tersebut dilakukan dengan mengkomplemenkan ke 2 dari biner yang dikehendaki Misal : negasi dari + 9 adalah 9 + 9 = 01001 Biner awal - 9 = 10111 Negasi (Komplemen ke 2) + 9 = 01001 Di negasi lagi

Dua Buah bilangan biner dapat dikalikan dengan metoda yang sama dengan metoda perkalian pada bilangan desimal. Sebagai pengantar akan ditunjukkan operasi perkalian konvensional dengan bilangan tak bertanda (unsigned number). Sebagai contoh akan ditunjukkan operasi perkalian untuk operand Multiplicand (M) = 1110 dan Multiplier (Q) = 1011.

Multiplicand (M) Multiplier (Q)

Product (P)

1110 (14) x 1011 (11) 1110 1110 0000 + 1110 10011010 (154)

Multiplicand (M) Multiplier (Q) Partial Product 0 Partial Product 1 Partial Product 2 Product (P)

Konsep dasar perkalian konvensional

1110 (14) x 1011 (11) 1110 + 1110 10101 + 0000 01010 + 1110 10011010 (154)

Perkalian Konvensional Implementasi HW

Pembagian biner dilakukan dengan cara yang sama dengan bilangan desimal. Dalam pembagian bilangan biner pembagian dengan digit biner 0 tidak akan mengandung arti sehingga : 0:1=0 1:1=1

Proses pembagian pada sistem biner menggunakan proses pembagian berekor yaitu sebagai berikut:

Kurangi bilangan yang dibagi dengan kelipatan pembagi yang berbobot tertinggi Jumlah kelipatan x bobot yang merupakan hasil bagin dijumlahkan dengan hasil bagin-1 Bila sisa bagi (bilangan yang dibagi kelipatan pembagi berbobot tertinggi) >= pembagi, lakukan step 1 dan 2 hingga diperoleh kelipatan pembagi berbobot tertinggi < pembagi Hasil Bagi dan sisa bagi telah ditemukan

1. 1 1 2/ 1 0 0 0 0 1 2\ 1 0 1 1 11 __ 001001 11 0011 011 02 2. 1 1 0 0 2 / 1 0 0 1 0 0 0 0 2 \ 01 1 0 0 1100 00110000 110000 0 0 0 0 0 0 02


2 2

Menyelesaikan suatu aritmatika bilangan desimal sudah biasa dilakukan, karena bilangan desimal dalam sistem komputer digunakan untuk merepresentasikan bilangan yang lazim digunakan oleh pengguna berdasarkan sepuluh jari.

1.

2 0 5 6 7 10 6 5 2 1 3 10 + 8 5 7 8 0 10

2. 1 2 3 4 5 67890 8 0235

10 10 10

Perkalian bilangan desimal dalam ALU juga dilakukan dengan menjumlahkan beberapa kali angka yang harus dikalikan dengan pengalinya.

1 2 4 1 2 492 5 04

3 1 3

10 10

10

16

10

/ 208 10 \ 1 3 16 48 48 0

10

Penjumlahan bilangan oktal memiliki hal yang serupa dengan penjumlahan desimal dimana jumlah bilangan yang didapatkan harus < 8. Bila terdapat hasil penjumlahan yang 8 maka lakukan pengurangan dengan bilangan 8 sampai dengan bilangan tersebut tidak dapat lagi dikurangi dengan bilangan 8 Banyaknya pengurangan terhadap bilangan tersebut disebut juga dengan carry (pembawa). Penjumlahan dimulai dari LSB ke MSB.

Penjumlahan tanpa carry 43 21 64


8 8 8+

3+1=4 4+2=6

Penjumlahan dengan carry 4568 3 7 2 8+ 1050 8 6+2 = 8 8 = 0 carry 1 5 + 7 + 1 = 13 8 = 5 carry 4 + 3 + 1 = 8 8 = 0 carry 1

Pengurangan bilangan oktal dilakukan dengan peminjaman pada bilangan yang berada didepannya sama dengan pengurangan bilangan desimal. Adapun bilangan yang dipinjam dari bilangan tersebut setiap 1 digit peminjaman adalah 8. Pengurangan dilakukan dari LSB.

Pengurangan tanpa peminjaman 654 8 44=0 324 8 52=3 330 8 63=3

Pengurangan dengan peminjaman 5 2 6 1 8 1+82=7 3 4 7 2 8 5+87=6 15 6 7 8 1+84=5 43 =1

Perkalian bilangan oktal dilakukan sama dengan bilangan desimal. Seperti halnya perkalian biner, perkalian oktal pun dalam ALU akan dilakukan dengan operasi penjumlahan sebanyak perkalian yang diinginkan.

Tidak terjadi carry pada perkalian tetapi terjadi carry pada penjumlahannya. Aritmatika Perkalian 45 8 1x5=5 1 1 8x 1x4=4 45 1x5=5 45 + 1x4=4 5 15 8 Aritmatika Penjumlahan 5+0=5 4 + 5 = 9 8 = 1 carry 1 4 + 1 (carry) = 5

Terjadi carry pada perkalian tapi tidak untuk penjumlahan Aritmatika Perkalian
7 x 5 = 35 8 = 27 8 = 19 8 = 11 8 = 3 carry 4 7 x 4 = 28 + 4 (carry) 8x = 32 8 = 24 8 = 16 8 = 8 8 = 0 carry 4 403 2 x 5 = 10 8 = 2 carry 1 112 + 2 x 4 = 8 + 1 (carry)= 9 8 = 1 carry 1 1523 8 Aritmatika Penjumlahan 3+0=3 0+6=6 4+1=5 1+0=1
8

45 27

Terjadi carry pada perkalian dan penjumlahan 76 17 662 76 1642 Aritmatika perkalian 6 x 7 = (42)10 ( 8 x 5 ) = 2 carry 5 7 x 7 = (49 + 5)10 = (54)10 ( 8x6 )= 6 carry 6 1x 6 = 6 1x7 =7 Aritmatika penjumlahan 2+0=2 6 + 6 = 12 8 = 4 carry 1 6 + 7 = 13 + 1 = 14 8 = 6 carry 1 1+0=1

8 8

+
8

Pembagian bilangan oktal dilakukan seperti biasa (sama) dengan bilangan desimal.

76

/ 1 6 4 2 8\ 1 7 8 76 662 662 0 Uraian Aritmatika Perkalian:


8

76 8 1 8x 7 68 76
8
8 8

7 662

6 x 7 = (42) ( 8 x 5 ) = 2 carry 5 7 x 7 = 49 + 5 = 54 ( 8x6 )= 6 carry 6

45

/ 1 5 2 3 8\ 2 7 8 112 403 403 0 Uraian Aritmatika Perkalian :


8

45 2 112

8 8 8

5 x 2 = 10 8 = 2 carry 1 4 x 2 +1 = 9 8 = 1 carry 1 5 x 7 = 35 ( 8 x 4 ) = 3 carry 4 4 x 7 = 28 + 4 = 32 ( 8x4 )= 0 carry 4

45 8 7 8 x 403 8

Penjumlahan bilangan heksadesimal memiliki hal yang serupa dengan penjumlahan desimal dimana jumlah bilangan yang didapatkan harus < 16. Bila terdapat hasil penjumlahan yang 16 maka lakukan pengurangan dengan bilangan 16 sampai dengan bilangan tersebut tidak dapat lagi dikurangi dengan bilangan 16 Banyaknya pengurangan terhadap bilangan tersebut disebut juga dengan carry (pembawa). Penjumlahan dimulai dari LSB ke MSB.

Penjumlahan tanpa carry 45 32 77 1A B3 CD


16

16+ 16

5+2=7 4+3=7

16+ 16

16

3 + 10 = 13 = D 1 + 11 = 12 = C

Penjumlahan dengan carry 679 487 B00


16 16 16

9 + 7= 16 16 = 0 carry 1 7 + 8 + 1 = 16 16 = 0 carry 1 6 + 4 + 1 = 11 = B

A 5 E 16 6 F 9 16+ 1 1 5 7 16

14 + 9 = 23 16 = 7 carry 1 5 + 15 + 1 = 21 16 = 5 carry 1 10 + 6 + 1 = 17 16 = 1 carry 1

Pengurangan bilangan heksadesimal dilakukan dengan peminjaman pada bilangan yang berada didepannya sama dengan pengurangan bilangan desimal. Adapun bilangan yang dipinjam dari bilangan tersebut setiap 1 digit peminjaman adalah 16. Pengurangan dilakukan dari LSB.

Pengurangan tanpa peminjaman 9 4 5 16 3 2 4 16 6 2 1 16

54=1 42=2 93=6 12 4 = 8 11 1 = 10 = A 10 5 = 5

ABC 5 14 5A8

16
16 16

Pengurangan dengan peminjaman 9 2 5 416 4 + 16 6 = 14 = E 3 7 7 6 16- 4 + 16 7 = 13 = D 5 A D E 16 1 + 16 7 = 10 = A 83 =5

Perkalian bilangan heksadesimal dilakukan sama dengan bilangan desimal. Seperti halnya perkalian biner, perkalian heksadesimal pun dalam ALU akan dilakukan dengan operasi penjumlahan sebanyak perkalian yang diinginkan.

Tidak terjadi carry pada perkalian tetapi terjadi carry pada penjumlahannya.
8 9 16 1 1 16 x 8 9 89 + 9 1 9 16 Aritmatika Perkalian 1x9=9 1x8=8 1x9=9 1x8=8 Aritmatika Penjumlahan 9+0=9 8 + 9 = 17 16 = 1 carry 1 8 + 1 (carry) = 9

Terjadi carry pada perkalian dan penjumlahan 4A 35 172 DE F52

16x

16

+
16

Aritmatika Perkalian 5 x 10 = 50 16 = 34 16 = 18 16 = 2 carry 3 5 x 4 = 20 + 3 (carry) = 23 16 = 7 carry 1 3 x 10 = 30 16 = 14 = E carry 1 3 x 4 = 12 + 1 (carry)= D


Aritmatika Penjumlahan 2+0=2 14 + 7 = 21 16 = 5 carry 1 1 + 13 + 1 (carry) = 15 = F Aritmatika perkalian 6 x 12 = 72 ( 16 x 4 ) = 8 carry 4 12 x 10 = 120 + 4 = 124 ( 16x7)= 12 = C carry 7 1x 6 = 6 1 x 10 = 10 = A Aritmatika penjumlahan 8+0=8 12 + 6 = 18 16 = 2 carry 1 7 + 10+1 = 17 + 1 = 18 16 = 2 carry 1

A6 1C 7C8 A6 1228

16

16x

+
16

Pembagian bilangan heksadesimal cukup rumit dan dilakukan seperti halnya dengan pembagian bilangan desimal.

11

16

/ 919 16 \ 89 88 99 99 0

16

Uraian : 1 1 16 8 16 x 8 88 11 9 99
16 16 16

35

16

Uraian : 35 4 DE 35 A 212

/ F 5 2 16 \ 4 A D4 212 212 0

16

16 16 16

Aritmatika Perkalian 5 x 4 = 20 16 = 4 carry 1 4 x 3 +1 = 13 = D Aritmatika Perkalian 5 x 10 = 50 ( 16 x 3 ) = 2 carry 3 3 x 10 = 30 + 3 = 33 ( 16x2 )= 1 carry 2

16 16 16

A6

/ 1 2 2 8 16 \ 1 C 16 A6 7C8 7C8 0 Uraian : Aritmatika Perkalian A 6 16 6x1=6 1 16 x 1 x 10= 10 = A A 6 16


16

A 6 16 C 16 x 7 C 8 16

Aritmatika Perkalian 6 x 12 = 72 ( 16 x 4 ) = 8 carry 4 10 x 12 = 120 + 4 =124 ( 16x7)= C carry 7

Kerjakan Latihan. Dikumpulkan pekan depan

Você também pode gostar