ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia: unit aritmatika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit)adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya. Seperti pengurangan, pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
ALU Inputs and Outputs
Representasi Integer
- Hanya menggunakan 0 dan 1 untuk menghitung segalanya
- Angka positif disimpan dalam biner
- Tidak ada tanda minus maupun titik (.)
- Sign Magnitude
- Dua compliment
Sign Magnitude
- Angka pada deret kiri menunjukkan positif atau tidaknya suatu bilangan
- 0 menyatakannegatif
- 1 menyatakan positif
- Contoh :
- +18 = 00010010
- -18 = 10010010
- Masalah : 0 dianggap memiliki 2 nilai, yaitu +0 dan -0
Dua Compliment
Dua bilangan yang memiliki nilai positif dan negatif
- Contoh
- +3 = 00000011
- +2 = 00000010
- +1 = 00000001
- +0 = 00000000
- -1 = 11111111
- -2 = 11111110
- -3 = 11111101
- Keunggulan
- Hanya memiliki 1 nilai angka 0
- Aritmatika lebih mudah
- Negasi lebih mudah
Geometric Depiction of Twos Complement Integers
Range
8 bit
+127 = 01111111 = 27 -1
-128 = 10000000 = -27
16 bit
+32767 = 011111111 11111111 = 215 - 1
-32768 = 100000000 00000000 = –215
Seperti pada bilangan desimal, dalam bilangan biner dapat dilakukan operasi aritmatika seperti penjumlahan, pengurangan, perkalian dan pembagian.
Penjumlahan Biner
Penjumlahan bilangan biner serupa dengan penjumlahan pada bilangan desimal. Dua bilangan yang akan dijumlahkan disusun secara vertikal dan digit-digit yang mempunyai signifikansi sama di tempatkan pada kolom yang sama. Digit-digit ini kemudian dijumlahkan dan jika jumlahnya lebih besar dari 1, maka ada bilangan yang disimpan, selanjutnya bilangan yang disimpan tersebut dijumlahkan dengan bilangan di sebelah kirinya.
Penjumlahan bilangan biner serupa dengan penjumlahan pada bilangan desimal. Dua bilangan yang akan dijumlahkan disusun secara vertikal dan digit-digit yang mempunyai signifikansi sama di tempatkan pada kolom yang sama. Digit-digit ini kemudian dijumlahkan dan jika jumlahnya lebih besar dari 1, maka ada bilangan yang disimpan, selanjutnya bilangan yang disimpan tersebut dijumlahkan dengan bilangan di sebelah kirinya.
Aturan dasar untuk penjumlahan pada bilangan biner adalah seperti berikut:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0, simpan 1
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0, simpan 1
Sebagai contoh akan dijumlah dua bilangan biner 01012 + 00112 hasilnya 10002
Terkadang hasil penjumlahan bilangan lebih besar dari 2 jika hal tersebut terjadi, maka bilangan dapat disimpan lebih dari satu tempat, misalnya 1 + 1 + 1 +1 = 0 yang disimpan 10. Contoh soal 00012 + 00112 + 01012 + 01112 hasilnya 100002
Pada kolom ke 3, bilangan yang disimpan ada dua bilangan yang berasal dari hasil penjumlahan pada kolom ke 5 yang nilai penjumlahannya adalah (100) dan kolom ke 4 yang nilai penjumlahannya adalah (10). Sedangkan bilangan yang disimpan pada kolom 1 dan 2 merupakan bilangan hasil dari penjumlahan pada kolom 3 yang nilai penjumlahannya adalah (100).
Pengurangan Biner
Metode yang digunakan dalam pengurangan bilangan biner juga sama dengan metode yang digunakan untuk pengurangan pada bilangan desimal. Dalam metode ini, jika diperlukan sebuah angka diperbolehkan meminjam 1 dari kolom yang mempunyai derajat lebih tinggi atau yang biasanya berada di sebelah kiri.
Metode yang digunakan dalam pengurangan bilangan biner juga sama dengan metode yang digunakan untuk pengurangan pada bilangan desimal. Dalam metode ini, jika diperlukan sebuah angka diperbolehkan meminjam 1 dari kolom yang mempunyai derajat lebih tinggi atau yang biasanya berada di sebelah kiri.
Aturan dasar untuk pengurangan bilangan biner adalah sebagai berikut:
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
0 – 1 = 1, pinjam 1
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
0 – 1 = 1, pinjam 1
Sebagai contoh terdapat dua bilangan biner x dan y bilangan x = 01012 , bilangan y = 00112. Jika dilakukan operasi pengurangan maka 01012 – 00112 hasilnya 00102, berikut penjelasannya:
- Pengurangan pada digit ke 4 dari x – y adalah 1 – 1 hasilnya 0.
- Pengurangan pada digit ke 3 dari x – y adalah 0 – 1 hasilnya 1, setelah angka 0 dari bilangan x meminjam angka 1 dari digit ke 2 dari bilangan x, sehingga digit ke 2 bilangan x berubah menjadi 0.
- Pengurangan pada digit ke 2 dari x – y adalah 0 – 0 hasilnya 0
- Pengurangan pada digit ke 1 dari x – y adalah 0 – 0 hasilnya 0
- Pengurangan pada digit ke 4 dari x – y adalah 1 – 1 hasilnya 0.
- Pengurangan pada digit ke 3 dari x – y adalah 0 – 1 hasilnya 1, setelah angka 0 dari bilangan x meminjam angka 1 dari digit ke 2 dari bilangan x, sehingga digit ke 2 bilangan x berubah menjadi 0.
- Pengurangan pada digit ke 2 dari x – y adalah 0 – 0 hasilnya 0
- Pengurangan pada digit ke 1 dari x – y adalah 0 – 0 hasilnya 0
Perkalian Biner
Metode yang digunakan dalam perkalian biner juga pada dasarnya sama dengan perkalian desimal, akan terjadi pergeseran ke kanan setiap dikalikan 1 bit pengali. Setelah proses perkalian masing-masing bit pengali selesai, dilakukan penjumlahan masing-masing kolom bit hasil.
Contoh :
Metode yang digunakan dalam perkalian biner juga pada dasarnya sama dengan perkalian desimal, akan terjadi pergeseran ke kanan setiap dikalikan 1 bit pengali. Setelah proses perkalian masing-masing bit pengali selesai, dilakukan penjumlahan masing-masing kolom bit hasil.
Contoh :
Pembagian Biner
Serupa dengan perkalian, pembagian pada bilangan biner juga menggunakan metode yang sama dengan pembagian desimal. Bit-bit yang dibagi diambil bit per bit dari sebelah kiri. Apabila nilainya lebih dari bit pembagi, maka bagilah bit-bit tersebut, tetapi jika setelah bergeser 1 bit nilainya masih dibawah nilai pembagi maka hasilnya adalah 0.
Contoh :
Serupa dengan perkalian, pembagian pada bilangan biner juga menggunakan metode yang sama dengan pembagian desimal. Bit-bit yang dibagi diambil bit per bit dari sebelah kiri. Apabila nilainya lebih dari bit pembagi, maka bagilah bit-bit tersebut, tetapi jika setelah bergeser 1 bit nilainya masih dibawah nilai pembagi maka hasilnya adalah 0.
Contoh :
Jenis operasi aritmatika dalam komputer :
- Penjumlah Tak Lengkap (Half Adder)
- Penjumlah Lengkap (Full Adder)
- Penjumlah Biner Paralel
- Pengurang Paro dan Penuh (Half and Full Substractor)
HALF ADDER
Merupakan rangkaian elektronik yang bekerja melakukan perhitungan penjumlahan dari dua buah bilangan binary, yang masing-masing terdiri dari satu bit. Rangkaian ini memiliki dua input dan dua buah output, salah satu outputnya dipakai sebagai tempat nilai pindahan dan yang lain sebagai hasil dari penjumlahan.
Rangkaian ini bisa dibangun dengan menggunakan IC 7400 dan IC 7408. Seperti yang terlihat pada gambar dibawah ini, rangkaian half adder merupakan gabungan beberapa gerbang NAND dan satu gerbang AND. Karakter utama sebuah gerbang NAND dalah bahwa ia membalikkan hasil dari sebuah gerbang AND yang karakternya hanya akan menghasilkan nilai satu ketika kedua inputnya bernilai satu, jadi gerbang NAND hanya akan menghasilkan nilai nol ketika semua inputnya bernilai satu.
Skema Diagram HALF ADDER
Ketika salah satu atau lebih input bernilai nol maka keluaran pada gerbang NAND pertama akan bernilai satu. Karenanya kemudian input di gerbang kedua dan ketiga akan bernilai satu dan mendapat input lain yang salah satunya bernilai nol sehingga PASTI gerbang NAND yang masukannya nol tadi menghasilkan nilai satu. Sedangkan gerbang lain akan benilai nol karena mendapat input satu dan satu maka keluaran di gerbang NAND terakhir akan bernilai satu, karena salah satu inputnya bernilai nol.
Untuk menghitung carry digunakan sebuah gerbang AND yang karakter utamanya adalah bahwa iahanya akan menghasilkan nilai satu ketika kedua masukannya bernilai satu. Jadi carry satu hanya akan dihasilkan dari penjumlahan dua digit bilangan biner sama-sama bernilai satu, yang dalam penjumlahan utamanya akan menghasilkan nilai nol.
Tabel Kebenaran HALF ADDER
Ket :
1 = Benar
0 = Salah
1 = Benar
0 = Salah
Jika setiap elemen yang dihubungkan salah satu ada yang Salah/(0) maka pernyataan pada percobaan Rangakaian Half Adder ini menunjukan Salah/(0).
Skema Pengkabelan HALF ADDER
KESIMPULAN :
Half Adder adalah suatu rangkaian penjumlahan sistem bilangan biner yang paling sederhana. Rangkaian ini hanya dapat digunakan untuk operasi penjumlahan data bilangan biner sampai 1bit saja. Rangkaian Half Adder memiliki 2 terminal input untuk 2 variabel bilangan biner clan 2 terminal output, yaitu SUMMARY OUT (SUM) dan CARRY OUT (CARRY).
FULL ADDER
Merupakan rangkaian elektronik yang bekerja melakukan perhitungan penjumlahan sepenuhnya dari dua buah bilangan binary, yang masing-masing terdiri dari satu bit. Rangkaian ini memiliki tiga input dan dua buah output, salah satu input merupakan nilai dari pindahan penjumlahan, kemudian sama seperti pada half adder salah satu outputnya dipakai sebagai tempat nilai pindahan dan yang lain sebagai hasil dari penjumlahan.
Rangkaian ini dibuat dengan gabungan dua buah half adder dan sebuah gerbang OR. Logika utama rangkaian gerbang full adder adalah bahwa ketika menjumlahkan dua bilangan biner maka ada sebuah carry yang juga mempengaruhi hasil dari penjumlahan tersebut, karenanya rangkaian ini bisa melakukan penjumlahan secara sepenuhnya.
Skema Diagram FULL ADDER
Ketika dua masukan menghasilkan nilai satu pada half adder atau paruh dari full adder pertama, hasilnya akan kembali dijumlahkan dengan carry yang ada. Jika carry bernilai satu maka ia akan menghasilkan keluaran akhir bernilai nol, namun menghasilkan carry out yang bernilai satu, dan jika carry in bernilai nol maka ia akan menghasilkan keluaran akhir satu dengan carry out bernilai nol.
Lain halnya ketika kedua masukan pada paruh full adder pertama menghasilkan nilai nol karena inputnya sama-sama satu, maka carry out untuk paruh pertama half adder adalah satu, penjumlahan paruh pertama yang menghasilkan nol akan kembali dijumlahkan dengan carry in yang ada, yang jika bernilai satu maka hasil penjumlahannya adalah satu dan memiliki carry out satu dari penjumlahan input pertama.
Untuk menghitung carry out pada full adder digunakan sebuah gerbang OR yang menghubungkan penghitung carry out dari half adder pertama dan kedua. Maksudnya bahwa entah paruh pertama atau kedua yang menghasilkan carry out maka akan dianggap sebagai carry out, dan dianggap satu meski kedua gerbang AND yang digunakan untuk menghitung carry out sama-sama bernilai satu.
Tabel Kebenaran FULL ADDER
Ket :
1 = Benar
0 = Salah
1 = Benar
0 = Salah
Jika setiap elemen yang dihubungkan salah satu ada yang Benar/(1) maka pernyataan pada percobaan Rangakaian Full Adder ini menunjukan pernyataan Benar/(1)
Skema Pengkabelan FULL ADDER
KESIMPULAN :
Full Adder dapat digunakan untuk menjumlahkan bilangan-bilangan biner yang lebih dari 1bit. Penjumlahan bilangan-bilangan biner sama halnya dengan penjumlahan bilangan decimal dimana hasil penjumlahan tersebut terbagi menjadi 2bagian, yaitu SUMMARY (SUM) dan CARRY, apabila hasil penjumlahan pada suatu tingkat atau kolom melebihi nilai maksimumnya maka output CARRY akan berada pada keadaan logika 1.
HALF SUBTRACTOR
Half Subtractor adalah suatu rangkaian yang dapat digunakan untuk melakukan operasi pengurangan data-data bilangan biner hingga 1 bit saja. Half subtractor memiliki 2 terminal input untuk 2 variabel bilangan biner dan 2 terminal output, yaitu SUMMARY OUTPUT (SUM) dan BORROW OUTPUT (BORROW). Persamaan logika dari Half Subtractor adalah :
SUM = A.B' + A'.B
BORROW = A'.B
Diagram
Skema Pengkabelan
Tabel kebenaran Rangakaian Half Subtractor
KESIMPULAN :
Half Subtractor adalah suatu rangkaian yang dapat digunakan untuk melakukan operasi pengurangan data-data bilangan biner hingga 1 bit saja.
Tidak ada komentar:
Posting Komentar