ARITMATIKA KOMPUTER
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 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-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.
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 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.
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 .
~TERIMAKASI SEMOGA BERMANFAAT~