Rabu, 05 November 2014

ALU (Arithmetic And Logic)

ALU (Arithmetic And Logic)

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.)



Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.


CU
CU ( Control Unit )Fungsi unit ini adalah untuk melakukan pengontrolan dan pengendalian terhadap suatu proses yang dilakukan sebelum data tersebut dikeluarkan (output). Selain itu CU menafsirkan perintah dan menghasilkan sinyal yang tepat untuk bagian lain dalam sistem komputer. Unit ini  mengatur kapan alat Input menerima data dan kapan data diolah serta kapan ditampilkan dari program komputer. Bila terdapat instruksi perhitungan atau logika maka unit ini akan mengirim instruksi tersebut ke ALU. Dengan demikian tugas dari Control Unit ini adalah :
• Mengatur dan mengendalikan alat-alat input dan output
• Mengambil instruksi-instruksi dari memori utama
• Mengambil data dari memori utama (jika diperlukan) untuk diproses
• Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau
perbandingan logika serta mengawasi kerja dari ALU
• Menyimpan hasil proses ke memori utama.
Gerbang – gerbang system digital
Gerbang- gerbang system digital atau gerbang logika adalah piranti yang memiliki keadaan bertaraf logika. Gerbang logika dapat mempresentasikan keadaan dari bilangan biner.
Terdapat kedua keadaan pada gerbang logika, yaitu 0 dan 1. Tegangan yang digunakan dalam gerbang logika adalah HIGH (1) dan LOW (0). System digital yang paling kompleks seperti computer besar disusun dari gerbang gerbang  logika seperti AND, OR, NOT dan gerbang kombinasi (turunan) yang disusun dari gerbang dasar tersebut seperti NAND,NOR, EXOR, EXNOR.
Gerbang universal merupakan salah satu gerbang turunan yang dirangkai sehingga menghasilkan out put yang sama dengan out put dari gerbang dasar maupun gerbang turunan. Adapaun gerbang universal itu adalah NAND dan NOR.
Gerbang AND       
Adalah gerbang yang memberikan keluaran hanya bila semua masukan ada. Dengan kata lain gerbang AND merupakan gerbang semua atau tida ada; keluaran hanya terjadi bila semua masukan ada.
Gerbang OR
Adalah gerbang salah satu atau semua keluaran terjadi bila salah satu atau smua masukan ada. Gerbang OR memberikan keluaran 1 bila salah satu masukan atau ke dua masukan adalah 1.
Gerbang NOT

Adalah gerbang logika yang memberikan keluaran tidak sama dengan masukannya. Gerbang NOT disebut  juga inverter. Gerbang ini mempunya I sebuah masukan dan sebuah keluaran, yang dilakukannya hanyalah membalik sinyal masukan; jika masukan tinggi, keluaran adalah rendah dan sebaliknya.
  
Rangkaian terintegrasi
Rangkaian trintegrasi adalah rangkaian aplikasi yang terbebntuk dari berbagai macam gerbang logika. Rangkaian terintegrasi dapat merupakan kombinasi dari satu jenis gerbang logika atau lebih. Penyederhanaan rangkaian terintegrasi dapat menggunakan teorema aljabar boole dan atau peta karnough.

Contoh :
Half adder (penjumlah paruh) adalah untai logika yang keluarannya merupakan jumlah dari dua bit bilangan biner


 gambar half adder dengan 4 gerbang 
gambar half adder denagn 2 rangkaian

Tabel kebenaran half adder;


Full adder (penjumlah penuh) adalah untai logika yang keluarannya merupakan jumlah dari tiga bit bilangan biner.
 rangkaian full adder dengan 1 rangkaian 
 rangkaian full adder dengan 2 rangkaian 

Tabel kebenaran full adder : 





REPRESENTASI INTEGER (INTEGER REPRESENTATION)
Semua bilangan dapat direpresentasikan dengan hanya menggunakan bilangan 0 dan 1 untuk keperluan penyimpanan dan pengolahan komputer,tidak perlu menggunakan tanda minus dan titik,hanya bilangan biner yang dapat merepresentasikan bilangan.

A.Representasi Nilai Tanda
v  Penggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan  integer negatif  dan juga bilangan positif integer,karena itu    terdapat beberapa konvensi lainnya meliputi perlakuan terhadap bit yang paling berarti (paling kiri)didalam word sebagai bit tanda.
v  Apabila bit paling kiri sama dengan nol maka suatu bilangan adalah positif.Sedangkan bit paling kiri sama dengan 1,maka bilangan bernilai negatif.

                        Misalnya:
                        +18=00010010
                         -18=10010010(sign magnitude/nilai-tanda)

B. Kekurangan Representasi Nilai Tanda
 Penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan maupun nilai  relatifnya agar dapat berjalan pada operasi yang diperlukan.
 Terdapat dua representasi bilangan 0:
+010=00000000
-010=10000000 (sign magnitude)
  Hal ini tidak sesuai untuk digunakan,karena akan menyulitkan pemeriksaan bilangan 0.


ARITMATIKA INTEGER ( INTEGER ARITHMETIC)
Bagian ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua.

A. Negasi
Pada notasi komplemen dua,pengurangan sebuah bilangan integer dapat dibentuk dengan mengunakan aturan berikut:
Anggaplah komplemen boolean seluruh bit bilangan integer (termasuk bit tanda).Perlakukan hasilnya sebagai sebuah unsigned binary integer,tambahkan 1.misalnya:18=00010010 (komplemen dua).

B. Representasi Integer Positif,negatif,dan bilangan 0.
·         Bila sebuah bilangan integer positif dan negatif yang sama direpresentasikan (sign – magnitude),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
·         Bila hanya terdapat sebuah representasi bilangan 0 (komplemen dua),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
·         Pada kasus komplemen dua,terdapat representasi bilangan n-bit untuk -2n,tapi tidak terdapat untuk 2n. 


 




FLOATING POINT REPRESENTATION

dilakukan dengan menuliskan dalam bentuk exponensial. untuk menuliskan bilangan floating point (bilangan pecahan) Sehingga bilangan tersebut memiliki bilangan dasar, bilangan pemangkat dan basis bilangan tersebut.
 
      Representasi :
                            ±S * B ±E
Tanda  : + atau –
Signifikan (S) disebut juga mantissa
Eksponen (E)
Base (B)
Contoh ; pada bil. Desimal
976.000.000.000.000 ditulis 9,76 x 1014
0,00000000000976 ditulis 9,76 x 10-12
 
 
FLOATING POINT ARITHMETIC
Floating Point Arithmetic : Sistem penempatan titik desimal dengan cara membagi word menjadi dua bagian. Satu bagian berisi angka pecahan, sebagian lainnya merupakan eksponen dari sepuluh. Posisi efektif dari titik desimal akan berubah ketika eksponennya diubah. Sistem ini digunakan untuk menyatakan hasil perhitungan yang sangat besar atau sangat kecil.


Bentuk Bilangan Floating Point

Bilangan Floating Point memiliki bentuk umum : + m*be  , dimana m

(disebut juga dengan mantissa), mewakili bilangan pecahan dan umumnya dikonversi ke bilangan binernya, e mewakili bilangan exponent­nya, sedangkan b mewakili radix

(basis) dari exponen.
Aritmetika Floating Point Penjumlahan / Pengurangan

Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilangan­ bilangan tersebut memiliki bentuk exponensial yang berbeda. Unutk memecahkannya, maka sebelum ditambahkan bilangan exponensialnya harus disetarakan terlebih dahulu, atau bilangan dengan nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama dengan bilangan lain.

Langkah­langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating point:
  1. Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih kecil
  2. Lakukan operasi penjumlahan / pengurangan
  3. Lakukan normalisasi dengan ’menggeser’ nilai mantissa dan mengatur nilai exponensialnya
Contoh : Jumlahkan dua bilangan floating point 1,1100 * 24 dan 1,1000 * 22

  1. Sesuaikan : 1,1000 * 22 diubah menjadi 0,0110 * 24
  2. Jumlahkan : hasil penjumlahan 10,0010 * 24
  3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 26 ( dianggap bit yang diijinkan setelah koma adalah 4) 
 
Perkalian

Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2a dan Y = mx * 2b setara dengan X * Y = (mx * my) * 2a+b 
Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah
1. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
2.Kalikan kedua bilangan mantissa     
3. Normalisasi hasil akhir 
 
Contoh : Perkalian antara dua bilangan floating point X = 1,000 * 2­2 dan Y = ­1,010 *
2­-1

  1. Tambahkan bilangan exponennya : ­2 + (­1) = ­3
  2. Kalikan mantissa: 1,0000 * ­1,010 = ­1,010000
            Hasil perkaliannya adalah ­1,0100 * 2­3
 
Pembagian
 
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2a dan Y = mx * 2b setara dengan X / Y = (mx / my) * 2a­b
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
1.Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
2.Bagi kedua bilangan mantissa     
3. Normalisasi hasil akhir
Contoh : Pembagian antara dua bilangan floating point X = 1,0000 * 2­2 dan
Y = ­1,0100 * 2­1
  1. Kurangkan bilangan exponennya : ­2 – (­1) = ­1
  1. Bagi mantissa: 1,0000 / ­1,0100 = ­0,1101 
          Hasilpembagiannya adalah ­0,1101 * 2­1
 
Floating Point Arithmetic : Sistem penempatan titik desimal dengan cara membagi word menjadi dua bagian. Satu bagian berisi angka pecahan, sebagian lainnya merupakan eksponen dari sepuluh. Posisi efektif dari titik desimal akan berubah ketika eksponennya diubah. Sistem ini digunakan untuk menyatakan hasil perhitungan yang sangat besar atau sangat kecil.


Bentuk Bilangan Floating Point


Bilangan Floating Point memiliki bentuk umum : + m*be  , dimana m



(disebut juga dengan mantissa), mewakili bilangan pecahan dan umumnya dikonversi ke bilangan binernya, e mewakili bilangan exponent­nya, sedangkan b mewakili radix


(basis) dari exponen.


Aritmetika Floating Point Penjumlahan / Pengurangan



Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilangan­ bilangan tersebut memiliki bentuk exponensial yang berbeda. Unutk memecahkannya, maka sebelum ditambahkan bilangan exponensialnya harus disetarakan terlebih dahulu, atau bilangan dengan nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama dengan bilangan lain.



Langkah­langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating point

  1. Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih kecil
  2. Lakukan operasi penjumlahan / pengurangan
  3. Lakukan normalisasi dengan ’menggeser’ nilai mantissa dan mengatur nilai exponensialnya

Contoh : Jumlahkan dua bilangan floating point 1,1100 * 24 dan 1,1000 * 22



  1. Sesuaikan : 1,1000 * 22 diubah menjadi 0,0110 * 24
  2. Jumlahkan : hasil penjumlahan 10,0010 * 24
  3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 26 ( dianggap bit yang diijinkan setelah koma adalah 4) 

 
Perkalian

 
Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2a dan Y = mx * 2b setara dengan X * Y = (mx * my) * 2a+b

 Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah:
1. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
2.Kalikan kedua bilangan mantissa      
3. Normalisasi hasil akhir 

Contoh : Perkalian antara dua bilangan floating point X = 1,000 * 2­2 dan Y = ­1,010 *

2­-1



  1. Tambahkan bilangan exponennya : ­2 + (­1) = ­3
  2. Kalikan mantissa: 1,0000 * ­1,010 = ­1,010000

Hasil perkaliannya adalah ­1,0100 * 2­3
Pembagian
 
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2a dan Y = mx * 2b setara dengan X / Y = (mx / my) * 2a­b
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
1. Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
2. Bagi kedua bilangan mantissa     
3. Normalisasi hasil akhir
Contoh : Pembagian antara dua bilangan floating point X = 1,0000 * 2­2 dan
Y = ­1,0100 * 2­1
  1. Kurangkan bilangan exponennya : ­2 – (­1) = ­1
  2. Bagi mantissa: 1,0000 / ­1,0100 = ­0,1101 
Hasilpembagiannya adalah ­0,1101 * 2­1
 Floating Point Arithmetic : Sistem penempatan titik desimal dengan cara membagi word menjadi dua bagian. Satu bagian berisi angka pecahan, sebagian lainnya merupakan eksponen dari sepuluh. Posisi efektif dari titik desimal akan berubah ketika eksponennya diubah. Sistem ini digunakan untuk menyatakan hasil perhitungan yang sangat besar atau sangat kecil.
Bentuk Bilangan Floating Point



Bilangan Floating Point memiliki bentuk umum : + m*be  , dimana m



(disebut juga dengan mantissa), mewakili bilangan pecahan dan umumnya dikonversi ke bilangan binernya, e mewakili bilangan exponent­nya, sedangkan b mewakili radix


(basis) dari exponen.

Aritmetika Floating Point Penjumlahan / Pengurangan



Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilangan­ bilangan tersebut memiliki bentuk exponensial yang berbeda. Unutk memecahkannya, maka sebelum ditambahkan bilangan exponensialnya harus disetarakan terlebih dahulu, atau bilangan dengan nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama dengan bilangan lain.



Langkah­langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating point



  1. Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih kecil
  2. Lakukan operasi penjumlahan / pengurangan
  3. Lakukan normalisasi dengan ’menggeser’ nilai mantissa dan mengatur nilai exponensialnya

Contoh : Jumlahkan dua bilangan floating point 1,1100 * 24 dan 1,1000 * 22



  1. Sesuaikan : 1,1000 * 22 diubah menjadi 0,0110 * 24
  2. Jumlahkan : hasil penjumlahan 10,0010 * 24
  3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 26 ( dianggap bit yang diijinkan setelah koma adalah 4) 
 
 

Perkalian

 
Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2a dan Y = mx * 2b setara dengan X * Y = (mx * my) * 2a+b

Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah:

 

    1. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
    2. Kalikan kedua bilangan mantissa    
    3. Normalisasi hasil akhir 

Contoh : Perkalian antara dua bilangan floating point X = 1,000 * 2­2 dan Y = ­1,010 *

2­-1



  1. Tambahkan bilangan exponennya : ­2 + (­1) = ­
  2. Kalikan mantissa: 1,0000 * ­1,010 = ­1,010000

Hasil perkaliannya adalah ­1,0100 * 2­3 
 
Pembagian
 
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2a dan Y = mx * 2b setara dengan X / Y = (mx / my) * 2a­b
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
1. Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
2. Bagi kedua bilangan mantissa     
3. Normalisasi hasil akhir
 
Contoh : Pembagian antara dua bilangan floating point X = 1,0000 * 2­2 dan
Y = ­1,0100 * 2­1
  1. Kurangkan bilangan exponennya : ­2 – (­1) = ­1
  2. Bagi mantissa: 1,0000 / ­1,0100 = ­0,1101 
 Hasil pembagiannya adalah ­0,1101 * 2­1
 
 
 KESIMPULAN.
Alu (arithmetic and logic) adalah bagian dari mikroprosesor berfungsi untuk melakukan operasi hitungan aritmatika dan logika. atau bisa disebut matematika. contoh operasi aritmatika adalah penambahan, pengurangan. sedangkan contoh operasi logika adalah logika dan or.
Semua bilangan dapat direpresentasikan dengan hanya menggunakan bilangan 0 dan 1 untuk keperluan penyimpanan dan pengolahan komputer,
bila angka positif maka bilangannya dipresentasikan dengan angka awal 0
bilang angka negat maka bilangannya dipresentasikan dengan angka awal 1
Misalnya:
                        +18=00010010
 
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&sqi=2&ved=0CB0QFjAA&url=http%3A%2F%2Fdina_agustin.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F25850%2FRepresentasi%2BFloating%2BPoint.ppt&ei=WGFbVIKlMcXIuATMj4DoAQ&usg=AFQjCNF7V4VHWmKuRL70FkYgJAC36JKVOg&sig2=LIRmfCAnQJLMoYrnH_wJSg&bvm=bv.78677474,d.c2E

Tidak ada komentar:

Posting Komentar