BILANGAN FLOATING-POINT Representasi bilangan floating-point mempunyai tiga bagian: Mantissa Basis Eksponen Contoh : Bilangan Mantissa Basis Eksponen 3 x 106 3 10 6 110 x 28 110 2 8 6132.784 0.6132784 4 34.58 0.3458
Mantissa dan eksponen direpresentasikan secara eksplisit dalam komputer. Tetapi basisnya (base) adalah yg digunakan oleh komputer tersebut. Umumnya komputer mengikuti basis 2. Umumnya sebuah bilangan f direpresentasikan sebagai f = m x re di mana m adalah mantissa, r adalah basis dari sistem bilangan dan e adalah eksponen (pangkat dari basis yg digunakan). Format umum bilangan floating-point: S Eksponen Mantissa
Semula penggunaan format berbeda antar pabrik komputer untuk merepresentasikan bilangan floating-point. Tetapi saat ini telah digunakan format standar ANSI/IEEE secara luas (format IEEE 754). Sedangkan IBM mempunyai standar khusus Ada dua format standar IEEE 754 yg dikeluarkan yaitu untuk presisi tunggal (single precision) dan format standar untuk bilangan presisi ganda (double precision) S Eksponen, 8 bit Mantissa, 23 bit Format floating-point presisi tunggal (32 bit) S Eksponen, 11 bit Mantissa, 52 bit Format floating-point presisi ganda (64 bit)
NORMALISASI FLOATING-POINT Bilangan floating-point dapat direpresentasikan dgn banyak cara seperti yg ditunjukkan untuk bilangan desimal 140 x 28: 140 x 28, 14 x 29, 1400 x 27, 1.4 x 210, 0.14 x 211, .014 x 212 .... dst. Suatu bilangan floating-point berada dalam bentuk ternormalisasi jika Most Significant Digit dari mantissa bukan-nol (non-zero). Untuk mengubah menjadi bilangan yg ternormalisasi, mantissa harus digeser ke kanan atau ke kiri dgn tepat, menaikkan atau menurunkan eksponen. Jika semua bilangan floating-point direpresentasikan dalam komputer dgn bentuk ternormalisasi, maka posisi bit satu dapat disimpan dengan mengabaikan MSB (selalu 1). Ini disebut hidden 1 principle.
FPS (floating point standard) The sign bit adalah 0 untuk bilangan posistip dan 1 untuk bilangan negatip Mantissa direpresentasikan dengan unsigned integer (i.e., bukan 2’s Complement), di mana nilainya dinormalisasi. 23 bit untuk single precision, 52 bit untuk double precision Exponent direpresentasikan dengan unsigned integer 8 bit untuk single precision, 11 bit untuk double precision
Konversi format saintifik ke format standar IEEE Pertama ubah menjadi bilangan biner. Normalisasikan bilangan tsb sehingga terdapat satu digit nonzero di ujung terkiri, lakukan adjust exponent sesuai kebutuhan. Simpan digit biner mantissa ke sisi kanan Tambahkan 127 ke bagian exponent dan ubah hasil penjumlahan tersebut ke biner untuk nilai exponent yg akan disimpan. Untuk double precision, tambahkan 1023 ke exponent. Sign bit = 1 untuk bilangan negatip dan sign bit = 0 untuk bilangan positip.
Representasi nilai = ±1.M x 2E’ 127 Single precision S E’ M representasi 8-bit excess -127 exponent 23-bit mantissa fraction Bit tanda: 0 = + 1 = Representasi nilai = ±1.M x 2E’ 127 biased exponent Double precision S E’ M representasi 11-bit excess -1023 exponent 52-bit mantissa fraction Bit tanda: 0 = + 1 = Representasi nilai = ±1.M x 2E’ 1023
FPS and Hardware Floating point hardware umumnya mempunyai sekumpulan register khusus dan instruksi untuk melaksanakan floating point Juga terdapat instruksi khusus untuk perpindahan data antara memori atau normal register dan floating point register.
Contoh: Tuliskan +0.0010110… x 29 dalam format single precision standar IEEE 754 Solusi: Setelah dinormalisasi : +1.0110… x 26 E’ = 6 + 127 = 133 = 10000101 10000101 0110…
Sehingga representasi single precision (0.75)10 : Contoh: Tuliskan (0.75)10 dalam format single precision standar IEEE Solusi: Sign bit, S = 1 (negatip) 0.75 x 2 = 1.5 → 1 0.5 x 2 = 1.0 → 1 0.0 x 2 = 0.0 → 0 0.11000000 = 0.11000000 x 20 dinormalisasi = 1.100… x 21 M = 10000000000000000000000000 E = 1 E’ = E + 127 = 1 + 127 = 126 = 01111110 Sehingga representasi single precision (0.75)10 : 1 01111110 10000000000000000000000
Latihan: Typical 32-bit floating-point format +1.638125 X 220 = 10010011 10100011010111000010100 1.638125 X 220 = 1 10010011 10100011010111000010100 +1.638125 X 2―20 = 01101011 10100011010111000010100 1.638125 X 2―20 = 1 01101011 10100011010111000010100
Latihan: A. Tuliskan dalam format single precision standar IEEE 754: ( + 5.375 x 103 )10 ( + 200.0 )10 ( - 13.275 )10 ( - 0.05375 x 102 )10 B. Tuliskan dalam format notasi saintifik desimal 10000101 01100000000000000000000
KODE KARAKTER Semua komputer secara internal merepresentasikan karakter dengan menyimpannya sebagai integer non-negatip: 0, 1, 2 … Mapping karakter ke dalam integer disebut kode karakter Awalnya komputer menggunakan kode karakter dgn panjang 6-bit (26 = 64 karakter unik) yg cukup untuk 26 huruf kapital, 10 angka, dan 15 hingga 28 karakter khusus termasuk: , . ( ) : ; - + = / yg dibutuhkan oleh HLL seperti FORTRAN, COBOL dan BASIC
Kode karakter 8 bit yang paling populer adalah ASCII, EBCDIC *) Saat ini komputer merepresentasikan karakter dengan panjang 7 bit dan 8 bit Kode karakter 8 bit yang paling populer adalah ASCII, EBCDIC *) Kode karakter lain yang dapat merepresentasikan semua kode bahasa di dunia adalah Unicode *) ASCII = American Standard Code for Information Interchange EBCDIC = Extended Binary Coded Decimal Interchange Code
KODE KARAKTER ASCII ASCII adalah kode karakter yg ditujukan bagi standar internasional untuk representasi data tekstual ASCII juga biasanya digunakan untuk transmisi informasi biner Setiap karakter direpresentasikan oleh 7–bit kode Biasanya bit kedelapan disisipkan untuk parity (error checking), atau untuk character set expansion
ASCII terdiri dari 128 karakter: 95 karakter merepresentasikan simbol graphic termasuk huruf kecil dan kapital, bilangan 0 sampai 9, puctuation mark dan simbol-simbol khusus; 23 karakter merepresentasikan format effector yang merupakan karakter fungsional untuk pengontrolan layout pencetakan atau display device seperti carriage return, line feed, horizontal tabulation, dan back space; 10 karakter lainnya digunakan untuk aliran komunikasi data langsung dan status report-nya
KODE KARAKTER EBCDIC Kode EBCDIC adalah kode alphanumerik lain yang digunakan dalam peralatan IBM Setiap karakter direpresentasikan oleh 8–bit kode dan bit kesembilan disisipkan untuk parity Kode EBCDIC mempunyai simbol karakter yang sama dengan ASCII tetapi tetapi penetapan bit-bit untuk karakter berbeda.
KODE KARAKTER Unicode Unicode—coding scheme capable of representing all world’s languages
KODE BINER LAIN Kode Gray, kode ini digunakan untuk aplikasi khusus Keuntungan kode Gray dibandingkan dengan kode biner langsung adalah karena kode gray hanya mengubah satu bit dalam urutan kode tsb, dari 0 ke 1 atau dari 1 ke 0. Aplikasi typical kode Gray adalah ketika data analog direpresentasikan dengan perubahan kontinyu dari sebuah posisi shaft (shaft encoder)
Tabel Kode Gray 4-bit Kode Gray Ekivalen desimal 0000 1100 8 0001 1 1101 9 0011 2 1111 10 0010 3 1110 11 0110 4 1010 12 0111 5 1011 13 0101 6 1001 14 0100 7 1000 15
KODE BINER LAIN → kode desimal (BCD, 2421, Excess-3, Excess-3 Gray) Kode Desimal BCD Kode BCD (binary coded decimal) adalah bilangan desimal yang dikodekan secara biner Kode BCD dasar 4-bit disebut packed BCD, sedangkan kode BCD yang diperluas disebut unpacked BCD, misalnya unpacked BCD 1 byte. Kode BCD unpacked dibentuk dengan cara menggabungkan packed BCD dengan kelipatan 4-bit (nibble)
12 = 00010010unpacked BCD 97 = 10010111unpacked BCD Packed BCD
Penjumlahan BCD + + + 13 = 00010011 65 = 01100101 78 = 01111000 1 AC 13 = 00010011 65 = 01100101 78 = 01111000 + + 29 = 00101001 18 = 00011000 01000001 = 41 1 AC hasil error 0110 korektor + 47 = 01000111
KODE BINER LAIN → kode desimal (BCD, 2421, Excess-3, Excess-3 Gray) Kode desimal 2421 Kode 2421 merupakan kode berbobot (weighted code), di mana bit-bit dikalikan dengan bobot yang ditunjukkan dan jumlah dari bit-bit bobot tsb merupakan digit desimal Misalnya: 11012421 = 2x1 + 4x1 + 2x0 + 1x1 = 710 (lihat tabel)
Desimal 2421 Excess-3 Excess-3 Gray 0000 0011 0010 1 0001 0100 0110 2 0101 0111 3 4 5 1011 1000 1100 6 1001 1101 7 1010 1111 8 1110 9 Bit kombinasi Ini tidak digunakan
KODE BINER LAIN → kode desimal (BCD, 2421, Excess-3, Excess-3 Gray) Kode desimal Excess-3 Gray Kode Gray (lihat tabel) tidak cocok untuk kode desimal jika kita ingin memilih 10 entry pertama pada tabel, karena transisi dari 9 ke 0 melibatkan perubahan tiga bit (yaitu dari 1101 ke 0000) Untuk mengatasi kesulitan di atas, kita pilih 10 bilangan dimulai dari entry ketiga 0010 hingga entry keduapuluh 1010. Jadi transisi dari 1010 ke 0010 hanya berubah satu bit.
to be Continued … ! thanks, see you later