Posted by : Unknown Wednesday, November 05, 2014



ARITHMETIC AND LOGICAL UNIT (ALU)
Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem  di dalam sistem komputer berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan dan beberapa logika lain), AlU bekerja besama-sama memori. Dimana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.

Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan binertwo'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.
Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4x2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF).

ARITMATIKA
Aritmetika atau arithmetics (dari Yunani kata αριθμός = jumlah) adalah yang tertua dan paling dasar matematika cabang, yang digunakan oleh hampir semua orang, untuk mulai dari yang sederhana tugas-tugas sehari-hari menghitung untuk maju ilmu pengetahuan dan bisnis perhitungan, seperti penambahan, pengurangan , perkalian dan pembagian. Dalam penggunaan umum, kata ini merujuk ke cabang (atau pendahulu) matematika yang mencatat sifat-sifat dasar tertentu operasi pada nomor. Profesional ahli matematika kadang-kadang menggunakan istilah (lebih tinggi) aritmetika ketika mengacu pada teori bilangan, tetapi ini tidak boleh dikacaukan dengan aritmatika dasar.



Integer Representation
Apa itu 8 bit, 16 bit, 32 bit, 64 bit?

Pasti sering denger kan?

Pertama - tama saya jelaskan dulu apa itu bit dan apa itu byte.

Bit itu suatu data yang cuman nyimpen 0 (false) atau 1 (true).
Sesimpel itu, tapi jika digabung2 akan lebih banyak maknanya.

Dan satu byte adalah 8 bit, udah gitu doang.

Integer yang biasanya ditemukan dalam dunia programming itu biasanya bisa dibedakan jadi 2 tipe, signed dan unsigned.

Apa artinya? Secara sederhana signed itu bisa mengandung nilai negatif, sedangkan unsigned cuman nilai positif doang.

Untuk jelasnya aku jelasin yang unsigned dulu karena lebih gampang.
Misalkan 8 bit unsigned integer, yang biasanya disebut char, itu ada integer dengan 8 bit misalnya 01010110.
Angkanya secara sederhana dengan mengubah itu dari basis 2 ke basis 10 (supaya bisa dimengerti manusia :v).

Cara ngubahnya itu tiap posisi bit itu kita kasih nomor dari paling kanan itu 1, semakin ke kiri itu adalah 2 kali dari sebelah kanannya.

Contoh...
0
1
0
1
0
1
1
0
128
64
32
16
8
4
2
1

Nah yang ada 1 nya itu ditambah semua, kalau contoh di atas 64 + 16 + 4 + 2 = 86.

Gampang bukan?

Artinya range untuk 8 bit unsigned integer itu dari 00000000 = 0 sampe 11111111 = 255. Jadi sekarang harusnya kamu tahu berapa range untuk 16 bit unsigned integer (short). Hal itu juga berlaku untuk 32 bit (long) dan 64 bit (long long).
Sebagai latihan silahkan dicoba cari sendiri :D... kalau perlu tinggalin komen dibawah...

Trus kita selingkuh (beralih) ke signed integer.
Biasanya program - program komputer kalau bicara signed integer itu dia pake Two's complement.
Kenapa aku bilang gini? Karena ada lebih dari satu cara untuk mempresentasikan signed integer.

Bit paling kiri di signed integer itu namanya signed bit, itu yang menandakan itu bilangan negatif apa kagak, kalau 0, artinya positif, kalau 1 artinya negatif.

Untuk representasi bilangan positif, sama kayak sebelumnya dengan bit paling kiri itu 0.
Untuk representasi bilangan negatif ini yang agak dikit ribet, jadi caranya semua bit diinvert dulu semuanya (0 jadi 1, 1 jadi 0), dan kita memperoleh angka yang positif, tapi sebelum dibaca, kita harus tambah satu dulu baru kita baca sebagai angka positif (bingung? langsung aja ke contoh).

Contoh bilangan negatif : 11101000
Pertama kita tau itu negatif (ngeliat bit pertama), karena itu kita invert semua bitnya : 00010111
Trus kita tambah 1 ke bilangan itu (penjumlahan basis 2 ya, diinget) :
?
1
2
3
4
5
111  <<< caret
00010111
1
-------- +
00011000

Jadi hasilnya 00011000, trus diitung pake kayak ngitung positif, 16 + 8 = 24. Jadi karena kita tahu ini negatif, hasilnya jadi -24, ok ribet bukan?
Dan artinya range untuk 8 bit signed integer itu 1000000 = -128 sampe 01111111 = 127. Dan cara yang sama berlaku untuk 16 bit, 32 bit, dan 64 bit.
Dicoba sendiri yak :v.

Dan kalau ada yang bingung kenapa dirancang kayak gini, jawabannya ada pada penjumlahan dua bilangan, karena kalau pakai kayak gini menjumlahkan positif sama negatif value itu gampang. Seandainya 86 (01010110) dijumlah dengan -24 (11101000), untuk ngejumlahin keduanya tinggal kayak ngejumlahin binary biasa.
?
1
2
3
4
5
11        <<< caret
01010110
11101000
--------- +
x00111110

Bisa dilihat pas ngejumlahin bisa lebih dari 8 bit, karena itu yang lewat itu dibuang, hasilnya cuman ngambil 00111110, dan itu adalah 32 + 16 + 8 + 4 + 2= 62 dimana 86 + (-24) = 62.
Interesting enough?

Nah karena bisa lebih dari 8 bit dan ada bit yang dibuat ini yang biasanya menyebabkan angka gede banget ujung2nya jadi negatif, misalnya kita punya 127 dalam 8 bit signed integer, kita tambahin satu aja, dia bakal menjadi -128 (muter lagi).

INTEGER ARITHMETIC

1. Pengertian Bilangan Bulat

Bilangan bulat terdiri dari
– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1
Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}
Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}2. Membandingkan Bilangan Bulat
Dengan memperhatikan tempat pada garis bilangan, dapat kita nyatakan (dalam contoh) bahwa :
a. 7 > 4, karena 7 terletak di sebelah kanan 4,
b. (-5) < 2, karena (-5) terletak di sebelah kiri 2, dan lain sebagainya.
3. Penjumlahan dan Sifatnya
Salah satu Rumus penting :
http://i89.servimg.com/u/f89/13/89/44/00/image020.gif
Contoh : 7 + (-10) = 7 – 10 = -3
Sifat-sifatnya :
a. Komutatif :
http://i89.servimg.com/u/f89/13/89/44/00/image021.gif
b. Asosiatif :
http://i89.servimg.com/u/f89/13/89/44/00/image022.gif
c. Tertutup :
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu10.jpg
d. Memiliki identitas :
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu11.jpg
e. Invers penjumlahan :
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu12.jpg
4. Pengurangan
Pengurangan merupakan lawan (invers) dari penjumlahan.
Rumus :
http://i89.servimg.com/u/f89/13/89/44/00/image023.gif
Contoh : 8 – (-2) = 8 + 2 = 10
5. Perkalian dan Sifatnya
contoh :
3 x (-2) = (-2) + (-2) + (-2)
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu13.jpg
Sifat-sifat :
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu14.jpg
6. Pembagian
Pembagian adalah kebalikan (invers) dari perkalian.
Rumus :
http://i89.servimg.com/u/f89/13/89/44/00/image024.gif
7. Perpangkatan dan Sifat
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu15.jpg
8. Akar Pangkat Dua dan Akar Pangkat Tiga
http://i89.servimg.com/u/f89/13/89/44/00/bil_bu16.jpg

REPRESENTASI FLOATING-POINT
- 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 r = radiks
m = mantissa
e = eksponen
Contoh : Tunjukkan bilangan-bilangan berikut ini dalam notasi floating point.
a. (45.382)10? 0.45382 x 102 = (0.45382,2)
b. (-21,35)8 ? -2135,0 x 8-2 = (-2135.0,-2)
ARITMATIKA FLOATING POINT
- Penambahan 0,63524 x 103
0,63215 x 103 +
1,26739 x 103 ? 0,126739 x 104
- Pengurangan 0,63524 x 103
0,63215 x 103 ?
0,00309 x 103? 0,309 x 101
- 0,10100 x 22 ? 0,01010 x 23
0,11000 x 23 ? 0,11000 x 23 +
1,00010 x 23 ? 0,10001 x 24
- Perkalian
(0,253 x 102) x (0,124 x 103) = (0,253) x (0,124) x 102+3
= 0,031 x 105 ? 0,31 x 104


normalize
- Pembagian 0,253 x 102 = 0,253 x 102-3
0,124 x 103 0,124
= 2,040 x 10-1 ? 0,204 x 100
overflow
• REPRESENTASI FIXED POINT
Radiks point/binary point tetap dan diasumsikan akan berada di sebelah kanan dari digit yang paling kanan.
1. Representasi Sign-Magnitude/Nilai tanda
Untuk merepresentasikan bilangan integer negatif dan positif. Dengan menggunakan MSB sebagai bit tanda ?0 = positif, 1 = negatif
Contoh :
Sign-Magnitude +9 dalam 8 bit = 00001001
Sign-Magnitude –4 dalam 4 bit = 1100
Magnitude dari bilangan positif dan negatif sama hanya beda pada sign digitnya/MSB.
2. Representasi Komplemen-1
Untuk mendapat komplemen-1 maka bilangan nol diubah menjadi satu dan satu menjadi nol.
3. Representasi Komplemen-2
Langkah-langkah : Pengubahan bilangan desimal bertanda ke bilangan komplemen-2 (8-bit)
• Tentukan bit tanda/MSB ? 0 = positif, 1 = neg.
• Ubah desimal ke biner (7-bit)
• Ubah ke kompl-1 (setiap 0 diubah ke 1 dan setiap
1 diubah ke 0)


• Ubah ke kompl-2 (tambahkan +1 ke kompl-1
untuk mendapat bil. kompl-2)
• Gabung menjadi satu yaitu MSB sebagai tanda
bit dan 7-bit sebagai besarannya.
Langkah-langkah : Pengubahan bil. kompl-2 (8-bit) ke bil. des. bertanda
• Tentukan bit tanda/MSB
• Ubah 7-bit kompl-2 tersebut ke kompl-1
• Ditambah +1 ke kompl-1
• Ubah biner ke desimal

ARITMATIKA FIXED POINT
Penambahan positif, negatif, dan secara kebalikan bil-bil. biner yang diberi tanda yang direpresentasikan dalam komplemen-2.
001110 (+14) 110010 (-14)
+ 001100 (+12) end carry + 110100 (-12)
011010 (+26) 1 100110 (-26

(Sistem Bilangan | Syailendra's Blog)
CPU merupakan pusat kendali sistem komputer yang berfungsi sebagai:
• Memberikan pengalamatan data dan program
• Memasukkan dan mengambil data
• Memproses data secara aritmatik dan logikal
• Melaksanakan instruksi-instruksi secara berturut-turut.


Beberapa bagian-bagian dari CPU adalah sebagai berikut:
Arithmetic and Logical Unit (ALU)
ALU melaksanakan seluruh perhitungan (penambahan, pengurangan, perkalian atau pembagian) dan
operasi logika. ALU berfungsi melakukan operasi aritmatik dan logik yang terbagi menjadi empat kelas,
yaitu decimal arithmetic, fixed point arithmetic, floating point aritmetic dab logic operation.
Decimal Arithmetic digunakan untuk operasi bilangan desimal dengan menggunakan tanda plus (+)
atau negatif (-). Fixed Point Arithmetic adalah operasi arithmetic dari data binary untuk menyatakan
address dari penyimpanan. Floating Point Arithmetic untuk operasi matematika. Logic Operation
dapat berupa operasi-operasi perbandingan, testing, transalting, editing dan moving logic data.

Control Unit (CU)
CU merupakan bagian CPU yang berfungsi untuk:
• Membaca dan mengintepresikan instruksi-instruksi program
• Melangsungkan operasi komponen-komponen prosesor internal
• Mengendalikan aliran program dan data ke dalam dan ke luar RAM.

(perangkat keras multimedia « rahmatblog)


- Floating Point adalah tipe data yang dapat menyimpan angka dengan pecahan. VB membedakan menjadi dua jenis, yaitu:
• Tipe data single. Tipe data ini, dapat menampung angka negatif dengan
jangkauan -3.402823E38 hingga -1.401298E-45, dan angka positif dengan
jangkauan 1.401298E-45 hingga 3.402823E38. Huruf E menunjukkan 10
pangkat, misalnya pada -3.402823E38 berarti -3.402823 x 1038. Tipe data ini
membutuhkan 4 byte memori, dan merupakan tipe floating point yang paling
sederhana (dan paling tidak presisi).
• Tipe data double. Daya tampung tipe data double adalah -
1.79769313486232E308 hingga -4.94065645841247E-324 untuk bilangan negatif, dan 4.9406564581247E-324 sampai 1.79769313486232E308 untuk bilangan positif. Kenyataan yang sebenarnya, operasi terhadap tipe data single tidak secepat tipe data double ini.

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 comments... read them below or add one }

  1. ka klo cara perhitungan unsign kaya gini gmna ka 30+50?

    ReplyDelete

- Copyright © 2014 My Task - Powered by Blogger - Designed by Aldo Nugroho -