Dokumen tersebut membahas tentang Aritmatika Komputer dan representasi bilangan integer serta floating point. ALU berperan untuk melakukan operasi aritmatika dan logika pada data. Terdapat dua jenis representasi bilangan yaitu integer dan floating point. Pemilihan representasi merupakan masalah penting dalam perancangan komputer.
3. 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
Pengertian ALU
Tugas lain dari ALU
adalah melakukan
keputusan dari operasi
logika sesuai dengan
instruksi program.
4. 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 (>=)
Operasi logika (logical operation)
(sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
5. 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.
Fungsi
6. Gambar disamping ini menjelaskan
gambaran secara umum tentang
interkoneksi ALU dengan elemen-elemen
CPU lainnya.
7. Integer Representation
Dalam sistem bilangan biner , semua bilangan dapat
direpresentasikan dengan hanya menggunakan bilangan 0 dan 1,
tanda minus, dan tanda titik.
Misalnya: -1101.01012 = -11.312510
Namun untuk keperluan penyimpanan dan pengolahan komputer, kita
tidak perlu menggunakan tanda minus dan titik.
Hanya bilangan biner (0 dan 1) yang dapat merepresentasikan
bilangan.
Bila kita hanya memakai integer non-negatif, maka representasinya
akan lebuh mudah.
Sebuah word 8-bit dapat digunakan untuk merepresentasikan
bilangan 0 hingga 255. Misalnya:
01
8. 00000000= 0
00000001= 1
00101001 = 41
10000000 = 128
11111111= 225
Umumnya bila sebuah
rangkaian n-bit bilangan biner
an-1an-2…a1a0 akan
diinterpretasikan sebagai
unsigned integer A.
Penggunaan unsigned integer tidak cukup
untuk merepresentasikan bilangan integer
negatif dan juga bilangan positif integer.
Karena itu terdapat beberapa konvesi
lainnya yang dapat kita gunakan.
Konvesi-konvesi lainnya meliputi
perlakuan terhadap bit yang paling berarti
(paling kiri) di dalam word bit tanda.
Apabila bit paling kiri sama dengan 0
suatu bilangan adalah positif , sedangkan
bila bit yang paling kiri sama dengan 1
bilangan bernilai negatif.
Bentuk yang paling sederhana
representasi yang memakai bit tanda
representasi nilai tanda. Pada sebuah
word n bit, n – 1 bit yang paling kanan
menampung nilai integer. Misalnya:
Representasi Nilai Tanda
9. + 18 = 00010010
- 18 = 10010010 (sign-magnitude/nilai-tanda)
Terdapat beberapa kekurangan pada representasi
nilai-tanda penambahan dan pengurangan
memerlukan pertimbangan baik tanda bilangan
ataupun nilai relatifnya agar dapat berjalan pada
operasi yang diperlukan.
Kekurangannya lainnya terdapat dua representasi
bilangan 0:
+ 010 = 00000000
- 010 = 10000000 (sign-magnitude)
10. Representasi komplemen dua ( two’s complement representation) mengatasi dua buah kekurangan yang
terdapat pada representasi nilai- tanda.
Penambahan dan pengurangan nilai-tanda (sign-magnitude) tidak mencukupi dan terdapat dua buah
representasi bilangan nol.
Representasi komplemen dua menggunakan bit yang paling berarti sebagai bit tanda memudahkannya
untuk mengetahui apakah sebuah integer bernilai positif atau negatif.
Representasi ini berbeda dengan representasi nilai-tanda dengan cara menginterpretasikan bit-bit lainnya.
Representasi komplemen dua akan lebih mudah dimengerti dengan mendefinisikannya dalam bentuk jumlah
bobot bit seperti telah kita lakukan diatas pada representasi unsigned-magnitude dan sign-magnitude.
Bilangan nol akan diidentifikasikan sebagai positif, memiliki tanda bit 0 dan nilai keseluruhan 0.
Kita dapat melihat bahwa range integer positif yang dapat direpresentasikan mulai 0 (seluruh magnitude bit-
nya sama dengan 0) hingga 2n-1-1 (seluruh magnitude bit-nya 1). bilangan yang lebih besar akan
memerlukan bit yang lebih banyak.
Sekarang bilangan negatif A, bit tanda an-1, sama dengan 1. n-1 bit sisanya dapat mengambil salah satu dari
2n-1 nilai.
Karena itu, range integer negatif yang dapat direpresentasikan mulai –1 hingga -2n-1.
Hasilnya assignment yang mudah bagi nilai untuk membiarkan bit-bit an-1 an-2…a:a0 akan sama dengan
bilangan positif 2n-1 –A.
REPRESENTASI KOMPLEMEN DUA
11. KONVERSI ANTARA PANJANG BIT YANG BERLAINAN
Kadang-kadang kita perlu mengambil sebuah integer n bit dan menyimpannya di
dalam m bit, dengan m > n.
Pada notasi sign-magnitude mudah dilaksanakan: cukup memindahkan bit tanda ke
posisi terkiri yang baru dan mengisinya dengan nol. Misalnya:
+18 = 00010010 (sign-magnitude, 8 bit)
+18 =0000000000010010 (sign-magtitude, 16 bit)
-18 =10010010 (sign-magnitude, 8 bit)
-18 =1000000000010010 (sign-magtitude, 16 bit)
Prosedur di atas tidak berlaku bagi integer negatif komplemen dua. Dengan memakai
contoh yang sama:
+18 =00010010 (komplemen dua, 8 bit)
+18 =0000000000010010 (komplemen dua, 16 bit)
-18 =10010010 (komplemen dua, 8 bit)
-65.518 = 1000000000010010 (komplemen dua, 16 bit)
12. Dalam komputasi floating point
menjelaskan metode mewakili
perkiraan dari sejumlah nyata
dalam cara yang dapat
mendukung berbagai nilai .
Jumlahnya , secara umum ,
mewakili sekitar untuk tetap jumlah
digit yang signifikan ( mantissa )
dan ditingkatkan menggunakan
eksponen .
Istilah floating point mengacu pada fakta bahwa nomor itu radix point (
titik desimal , atau , lebih umum pada komputer , titik biner ) dapat
“mengambang” , yang , dapat ditempatkan di manapun relatif terhadap
angka yang signifikan dari nomor tersebut. Posisi ini diindikasikan
sebagai komponen eksponen dalam representasi internal , dan floating
point sehingga dapat dianggap sebagai realisasi komputer notasi
ilmiah .
Dalam notasi ilmiah , jumlah yang diberikan ditingkatkan oleh
kekuatan 10 sehingga terletak dalam kisaran tertentu – biasanya antara
1 dan 10 , dengan titik radix muncul segera setelah angka pertama .
The faktor skala , sebagai kekuatan sepuluh , kemudian ditunjukkan
secara terpisah pada akhir nomor . Misalnya, periode revolusi bulan
Jupiter Io adalah 152853.5047 detik , nilai yang akan diwakili dalam
notasi ilmiah standar – bentuk sebagai 1,528535047 × 105 detik .
FLOATING POINT REPRESENTATION
13. 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.
1. Bentuk Bilangan Floating Point
Bilangan Floating Point memiliki bentuk umum : + m * b e , dimana m (disebut juga dengan mantissa), mewakili
bilangan pecahan dan umumnya dikonversi ke bilangan binernya, e mewakili bilangan exponentnya, sedangkan b
mewakili radix (basis) dari exponent.
2. Macam-macam
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. Karena itu, diantara ketiga bentuk diatas dari
bilangan 1,75, maka bentuk yang telah ternormalisasi adalah bentuk yang paling atas, dan disarankan untuk digunakan.
Karena nilai MSB dari bilangan Floating Point yang telah ternormalisasi selalu 1, maka bit ini tidak disimpan, sehingga
nilai mantissa yang tersimpan adalah 1.m. Sehingga untuk bilangan floating point bukan nol yang ternormalisasi memiliki
bentuk (1) S * (1.m) * 2 e128
14. 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 * 2 4 dan 1,1000 * 2 2
1. Sesuaikan : 1,1000 * 2 2 diubah menjadi 0,0110 * 2 4
2. Jumlahkan : hasil penjumlahan 10,0010 * 2 4
3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 2 6 ( dianggap bit
yang diijinkan setelah koma adalah 4)
3. Aritmetika Floating Point Penjumlahan / Pengurangan
15. 4. Perkalian
Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2 a dan Y = mx * 2 b setara dengan X * Y = (mx
* my) * 2 a+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
16. 5. Pembagian
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2 a dan Y = mx * 2 b
setara dengan X / Y = (mx / my) * 2 ab.
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,11015
Hasil pembagiannya adalah 0,1101 * 2 1
17. 6. 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 32bit sedangkan double precision format adalah 64bit. Pada single extended format setidaknya
menggunakan 44 bit, sedangkan pada double extended format setidaknya menggunakan 80 bit.
IEEE single precision Format
Jika jumlah bit bilangan exponent adalah
8, maka nilainya memiliki 256 kombinasi,
diantara angkaangka tersebut, dua
kombinasi digunakan sebagai nilai khusus:
1. e = 0 bernilai nol (jika m = 0) dan nilai
terdenormalisasi (jika m ≠ 0)
2. e = 255 bernilai + ∞ (jika m = 0) dan
nilai tak terdefinisi (jika m ≠ 0)
m = 0 m ≠ 0
e = 0 0 Terdenormalisasi
e = 255 + ∞ Tidak Terdefinisi
EEE Double Precision Format
Bentuk ini memiliki kolom exponent 11 bit dan kolom nilai mantissa sebesar 52 bit.
IEEE double precision format
Karakteristik SinglePrecision
Double Precision
Panjang dalam bits 32 64
Bagian pecahan dalam bits 23 52
Bit tersembunyi 1 1
Panjang Exponent dlm bits 8 11
Bias 127 1023
Range 2 128 ≈ 3,8 x 10 38 2 1024 ≈ 9,0 x 10 307
Nilai ternormalisasi terkecil 2 126≈ 10 382 1022≈ 10 308
18. Kesimpulan
Jadi ALU ini bagian komputer yang berfungsi buat membentuk operasi-operasi aritmatika
dan logik terhadap data. Aritmatika komputer dibentuk dua jenis bilangan yang sangat
berbeda, yaitu integer dan floating point. Pada kedua jenis bilangan tersebut, pemilihan
representasi merupakan masalah rancangan yang sangat kritis.
Sumber :
http:/www.scribd.com/doc/44878552/representasi-Floating-Point-2
http://id.wikipedia.org/wiki/Unit_aritmatika_dan_logika
http://goo.gl/qCX8R1
http://riskydwiyanti.wordpress.com/2013/10/20/integer-representation/
http://www.scribd.com/doc/44878552/Representasi-Floating-Point-2
http://mulianam292.wordpress.com/2013/10/31/integer-arithmetic-and-floating-poin-representation/