ARITMATIKA KOMPUTER
Rangkaian aritmatika
merupakan konsep dasar yang melandasi pemrosesan logika dan aritmatika di
sistem komputer modern. Pada artikel ini dijelaskan bagaimana realisasi
penjumlah binary di dalam konsep aritmatika biner diimplementasikan dalam
rangkaian digital.
1.
Pengertian ALU
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 berdasar instruksi yang
ditentukan. ALU inilah yang berfikir untuk menjalankan perintah yang diberikan
kepada prosesor tersebut.
Instruksi
yang dapat dilaksanakan oleh ALU disebut dengan instruksi set. Perintah
yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh
pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU
buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau
perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh
suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem
dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau
software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan
bisa dijalankan untuk semua jenis prosesor kecuali untuk prosesor yang
compatible dengannya.
Seperti
halnya dalam bahasa yang digunakan oleh manusia, instruksi set ini juga
memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya.
Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa
lainnya, begitu juga dengan instruksi set yang ada pada mesin, tergantung
dimana lingkungan instruksi set itu digunakan.
Perhitungan
dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan
dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan
sistem bilangan biner two’s complement. ALU mendapat data dari register.
Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register
tersendiri yaitu ALU output register, sebelum disimpan dalam memori.
1.
Struktur dan Fungsi ALU
ALU memiliki berbagai
komponen elektronika didalamnya, yaitu berupa sekumpulan transistor yang
dikenal dengan nama logic gate. Logic gate inilah yang berfungsi untuk
melaksanakan operasi aritmatika dan operasi logika. Kumpulan susunan dari logic
gate dapat melakukan perintah perhitungan matematika yang lebih komplit seperti
perintah add untuk menambahkan bilangan atau devide atau pembagian dari suatu
bilangan.
Selain perintah
matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk
melaksanakan perintah yang berhubungan dengan logika, seperti hasil
perbandingan dua buah bilangan. ALU sering di sebut mesin
bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmatika
dan unit logika boolean yang masing-masing memiliki spesifikasi tugas
tersendiri.
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 lain 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:
1.
Sama dengan (=)
2.
Tidak sama dengan (<>)
3.
Kurang dari (<)
4.
Kurang atau sama dengan (<=)
5.
Lebih besar dari (>)
6.
Lebih besar atau sama dengan (>=)
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.
1.
REPRESENTASI INTEGER
Semua bilangan dapat
direprensentasikan dengan hanya menggunakan bilangan 0 dan 1 Untuk keperluan
penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus
dan titik, hanya bilangan biner yang dapat merepresentasikan bilangan.
Representasi Nilai
Tanda
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) di dalam word
sebagai bit tanda.
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)
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.
+010 = 00000000
-010 = 10000000 (sign-magnitude)
Hal ini tidak sesuai untuk digunakan, karena akan menyulitkan pemeriksaan bilangan 0.
1.
INTEGER ARITMATIKA
Bagian ini akan
membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen dua
Negasi
Pada notasi komplemen
dua, pengurangan sebuah bilangan integer dapat dibentuk dengan menggunakan
aturan berikut :
Anggaplah komplemen
Boolean seluruh bit bilangan integer (termasuk bit tanda)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)
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 positifdan negatif yang tidak sama.
Pada kasus komplemen
dua, terdapat representasi bilangan n-bit untuk -2n, tapi tidak terdapat untuk
2n.
Aturan Untuk
Mendeteksi Overflow
Aturan Overflow :
Bila dua buah bilangan ditambahkan, dan keduanya positif atau keduanya negatif, maka akan terjadi overflow bila dan hanya bila hasilnya memiliki tanda yang berlawanan, seperti pada contoh halaman 18 ((e),(f))
Bila dua buah bilangan ditambahkan, dan keduanya positif atau keduanya negatif, maka akan terjadi overflow bila dan hanya bila hasilnya memiliki tanda yang berlawanan, seperti pada contoh halaman 18 ((e),(f))
Aturan Pengurangan :
Untuk mengurangkan sebuah bilangan (subtrahend) dari bilangan lainnya (minuend), anggaplah komplemen dua subtrahend dan tambahkan hasilnya ke minuend.
Untuk mengurangkan sebuah bilangan (subtrahend) dari bilangan lainnya (minuend), anggaplah komplemen dua subtrahend dan tambahkan hasilnya ke minuend.
Pembulatan
Teknik pembulatan yang
sesuai dengan standard IEEE adalah sebagai berikut :
Pembulatan ke Bilangan
Terdekat : Hasil dibulatkan ke bilangan terdekat yang dapat direpresentasi.
Pembulatan Ke Arah :
Hasil dibulatkan ke atas ke arah tak terhingga positif.
Pembulatan Ke Arah :
Hasil dibulatkan ke atas ke arah tak terhingga negatif.
Pembulatan Ke Arah 0 :
Hasil dibulatkan ke arah 0
1.
FLOATING-POINT REPRESENTATION
Menyatakan suatu
bilangan yang sangat besar/sangat kecil dengan menggeser titik desimal secara
dinamis ke tempat yang sesuai dan menggunakan eksponen 10 untuk menjaga titik
desimal itu.
Sehingga range bilangan yang sangat besar dan sangat kecil untuk direpresentasikan hanya dengan beberapa digit saja.
Dinyatakan dengan notasi a = (m,e) , dimana :
a= m x re
Sehingga range bilangan yang sangat besar dan sangat kecil untuk direpresentasikan hanya dengan beberapa digit saja.
Dinyatakan dengan notasi a = (m,e) , dimana :
a= m x re
r = radiks
m = mantissa
e = eksponen
m = mantissa
e = eksponen
1.
FLOATING-POINT ARITHMATIC
Bentuk Bilangan
Floating Point
Bilangan Floating
Point memiliki bentuk umum : ± m*be , dimana m (di sebut juga dengan
mantissa), mewakili bilangan pecahan dan umumnya dikonversi ke bilangan
binernya, e mewakili bilangan exponentnya, sedangkan b mewakili radix (basis)
dari exponent.
Macammacam bentuk
bilangan floating point
Untuk mempermudah
operasi bilangan floating point dan menambah tingkat presisinya, maka bilangan
tersebut dibuat dalam bentuk ternormalisasi (normalized forms). Suatu bilangan
floating point telah ternormalisasi jika most significant bit (MSB) dari
mantissanya adalah 1.
untuk bilangan
floating point bukan no l yang ternormalisasi memiliki bentuk
(1) S * (1.m) *
2 e128
Aritmatika Floating
Point Penjumlahan / Pengurangan
Hal yang sulit dari
penjumlahan dua bilangan exponent adalah jika bilanganbilangan
tersebut memiliki bentuk exponensial yang berbeda. Untuk memecahkannya, maka
sebelum di tambahkan 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
Perkalian
Perkalian dari dua
bilangan floating point dengan bentuk X = mx* 2a dan Y = mx*2bsetara
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
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
Floating Point
standard IEEE
IEEE membuat
dua bentuk bilangan floating point standard. Bentuk basic dan bentuk extended.
Pada tiap bentuk tersebut, IEEE menentukan dua format, yaitu singleprecision
dan double precision format. Single precision format adalah model 32 bit
sedangkan double precision format adalah 64 bit . Pada single
extended format setidaknya menggunakan 44 bit , sedangkan pada
double extended format setidaknya menggunakan 80 bit .
Sumber :
http://isdesember.blogspot.co.id/2014/11/aritmatika-komputer.html
https://ebryansn.wordpress.com/2017/03/09/makalah-aritmatika-komputer/
http://santosotegoeh.blogspot.co.id/2011/12/aritmatika-komputer.html
http://isdesember.blogspot.co.id/2014/11/aritmatika-komputer.html
https://ebryansn.wordpress.com/2017/03/09/makalah-aritmatika-komputer/
http://santosotegoeh.blogspot.co.id/2011/12/aritmatika-komputer.html
Tidak ada komentar:
Posting Komentar