Anda di halaman 1dari 10

MODUL PERKULIAHAN

Arsitektur &
Organisasi
Komputer
Modul Standar untuk
digunakan dalam
Perkuliahan di Universitas
Mercu Buana

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

06
Ilmu Komputer Teknik Informatika Teguh Budi Santoso, S.Kom, M.Kom

Abstract Kompetensi
Pertemuan 6 berisi tentang Setelah mempelajari pertemuan ini
Aritmatika Komputer mahasiswa akan dapat memahami
bagaimana proses aritmatika pda
organisasi komputer
PERTEMUAN 6

Aritmatika Komputer
ARITMATIKA KOMPUTER

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. 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
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:
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-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. Gambar dibawah ini menjelaskan gambaran secara umum
tentang interkoneksi ALU dengan elemen-elemen CPU lainnya.

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

REPRESENTASI NILAI TANDA


 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:
+ 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)

REPRESENTASI KOMPLEMEN DUA

 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 2 n-1-1 (seluruh
magnitude bit-nya 1). bilangan yang lebih besar akan memerlukan bit yang
lebih banyak.
 Sekarang bilangan negatif A, bit tanda a n-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 2 n-1 –A.

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)
 Aturan integer komplemen dua adalah untuk memindahkan bit tanda ke posisi
terkiri yang baru dan mengisinya dengan salinan-salinan bit tanda.
 Bilangan positif diisi dengan 0 dan bilangan negatif isi dengan 1
-18 = 10010010 (komplemen dua, 8 bit)
-18 = 1111111100010010 (komplemen dua, 16 bit)

Aritmetika Integer
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 bittanda). Perlakukan hasilnya sebagai
sebuah unsigned binary integer, tambahkan1. 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


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 .
Dengan asumsi bahwa resolusi terbaik adalah di tahun cahaya , hanya 9
desimal yang paling signifikan digit materi , sedangkan sisanya 30 digit
membawa suara murni , dan dengan demikian dapat dengan aman dijatuhkan.
Ini merupakan penghematan dari 100 bit penyimpanan data komputer . Alih-alih
dari 100 bit , jauh lebih sedikit digunakan untuk mewakili skala ( eksponen ) ,
misalnya 8 bit atau 2 digit desimal .
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 . Selama bertahun-tahun , berbagai representasi
floating-point telah digunakan dalam komputer . Namun, sejak tahun 1990 ,
representasi paling sering ditemui adalah bahwa didefinisikan oleh IEEE 754
standar .
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 . Representasi floating-point mirip dalam konsep notasi ilmiah . Logikanya ,
angka floating -point terdiri dari:
1) Sebuah ditandatangani ( yang berarti positif atau negatif ) string yang digit
panjang diberikan dalam dasar yang diberikan ( atau radix ) . String ini
digit disebut sebagai significand , koefisien atau , lebih jarang , mantissa
( lihat di bawah ) . Panjang significand menentukan presisi yang nomor
dapat diwakili. Radix Posisi titik diasumsikan untuk selalu berada di suatu
tempat dalam significand – sering hanya setelah atau sebelum yang paling
signifikan digit , atau di sebelah kanan paling kanan (paling signifikan )
digit . Artikel ini umumnya akan mengikuti konvensi bahwa titik radix hanya
setelah paling signifikan ( paling kiri ) digit .
2) Sebuah integer ditandatangani eksponen , juga disebut sebagai
karakteristik atau skala , yang memodifikasi besarnya nomor . Untuk
memperoleh nilai dari angka floating-point , seseorang harus kalikan
significand dengan dasar pangkat dari eksponen , setara dengan
menggeser radix poin dari posisi tersirat oleh sejumlah tempat sama
dengan nilai eksponen – ke kanan jika eksponen positif atau ke kiri jika
eksponen negatif. Menggunakan basis- 10 ( notasi desimal akrab )
sebagai contoh , jumlah 152853,5047 , yang memiliki sepuluh angka
desimal presisi , diwakili sebagai significand 1,528535047 bersama
dengan eksponen 5 ( jika posisi tersirat dari radix point setelah pertama
yang paling signifikan digit, di sini 1 ). Untuk menentukan nilai yang
sebenarnya , titik desimal ditempatkan setelah digit pertama significand
dan hasilnya dikalikan dengan 105 untuk memberikan 1,528535047 ×
105 , atau 152853,5047. Dalam menyimpan nomor tersebut , dasar ( 10 )
tidak perlu disimpan , karena akan sama untuk seluruh kisaran angka
didukung , dan dengan demikian dapat disimpulkan . Secara simbolis , ini
adalah nilai akhirdimana adalah nilai significand ( setelah
memperhitungkan tersirat radix point) , B adalah dasar, dan E adalah
eksponen. ekuivalen : di mana s di sini berarti nilai integer dari seluruh
significand , mengabaikan semua titik desimal tersirat , dan p adalah –
presisi jumlah digit di significand tersebut . Secara historis , beberapa
pangkalan nomor telah digunakan untuk mewakili angka floating -point ,
dengan basis 2 ( biner ) yang paling umum, diikuti oleh basis 10
( desimal ) , dan varietas yang kurang umum lainnya , seperti basis 16
( notasi heksadesimal ) , sebagai serta beberapa yang eksotis seperti 3
(lihat Setun ) . Angka floating-point adalah bilangan rasional karena
mereka dapat direpresentasikan sebagai salah satu bilangan bulat dibagi
dengan yang lain . Misalnya 1,45 × 103 adalah (145 /100) * 1000 atau
145000/100 . Dasar namun menentukan pecahan yang dapat diwakili .
Misalnya , 1/ 5 tidak dapat diwakili tepat sebagai angka floating-point
menggunakan basis biner tetapi dapat diwakili tepat menggunakan basis
desimal ( 0,2 , atau 2 × 10-1. Namun 1/3 tidak dapat diwakili tepat oleh
salah biner ( 0,010101 … ) atau desimal ( 0,333 ./ ) , tetapi dalam basis 3
itu adalah sepele ( 0,1 atau 1 × 3-1 ) .

Kesempatan di mana ekspansi terbatas terjadi tergantung pada dasar dan


faktor utama, seperti yang dijelaskan dalam artikel tentang Notasi Positional, Cara di
mana significand tersebut , eksponen dan tanda bit secara internal disimpan di
komputer sangat tergantung dari implementasi .
Secara Umum format IEEE dijelaskan secara rinci nanti dan di tempat lain ,
tetapi sebagai contoh , dalam representasi ( 32 -bit ) floating-point presisi tunggal
biner p = 24 dan seterusnya significand adalah string dari 24 bit . Misalnya , jumlah
π pertama 33 bit adalah 11001001 00001111 11011010 10100010 0 . Mengingat
bahwa bit -24 adalah nol , pembulatan sampai 24 bit dalam mode biner berarti
menghubungkan bit -24 dengan nilai 25 yang menghasilkan 11.001.001 00.001.111
11.011.011 . Ketika ini disimpan menggunakan pengkodean IEEE 754 , ini menjadi
significand dengan e = 1 (di mana s diasumsikan memiliki titik biner di sebelah
kanan bit pertama ) setelah kiri penyesuaian ( atau normalisasi ) selama memimpin
atau tertinggal nol terpotong harus ada apapun .

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

3. 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:
a. Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai
pada bilangan dengan nilai exponensial lebih kecil
b. Lakukan operasi penjumlahan / pengurangan
c. 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)
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:
a. Hitung hasil exponensial dengan menjumlahkan nilai exponent
dari kedua bilangan 2.
b. Kalikan kedua bilangan mantissa
c. Normalisasi hasil akhir
Contoh : Perkalian antara dua bilangan floating point X = 1,000 *
2 2 dan Y = 1,010*2 1 1.
a) Tambahkan bilangan exponennya : 2+ (1) = 3 2.
b) Kalikan mantissa: 1,0000 * 1,010 = 1,010000 Hasil
perkaliannya adalah 1,0100 * 2 3
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 :
a. Hitung hasil exponensial dengan mengurangkan nilai exponent
dari kedua bilangan
b. Bagi kedua bilangan mantissa
c. Normalisasi hasil akhir
Contoh : Pembagian antara dua bilangan floating point X =
1,0000 * 2 2 dan Y = 1,0100 * 2 1
a) Kurangkan bilangan exponennya : 2 – (1) = 1
b) Bagi mantissa: 1,0000 / 1,0100 = 0,11015 Hasil
pembagiannya adalah 0,1101 * 2 1

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. I
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
=0m≠0
e = 0 0 Terdenormalisasi
e = 255 + ∞ Tidak Terdefinisi
IEEE 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 dalam 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 38
2 1022
≈ 10 308

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.

Soal Essay

Daftar Pustaka
1. Trevor Hastie, Robert Tibshirani,Jerome Friedman, The Element of Statistical
Learning. Data Mining, Inference, and Prediction, 2009
2. Ethem Alpaydin, Introduction to Data Mining, 3rd ed., MIT Press, 2014
3. Florin Gorunescu, Data Mining: Concepts, Models and Techniques, Springer,
2011
4. http://greenteapress.com/thinkstats/thinkstats.pdf
5. https://seeing-theory.brown.edu/basic-probability/index.html
6. https://towardsdatascience.com/probability-concepts-explained-bayesian-
inference-for-parameter-estimation-90e8930e5348
7. https://onlinelibrary.wiley.com/doi/pdf/10.1002/9781118874059.app1
8. https://medium.com/analytics-vidhya/description-statistics-for-data-science-
2f304a36ac34

Anda mungkin juga menyukai