Beberapa jenis bilangan dalam matematika yang digunakan dalam dunia komputer

Sebenarnya ini sekedar arsip dari tugas jaman kuliah dulu tentang arsitektur komputer tentang bilangan-bilangna matematika seperti biner, oktal dan lainnya. Suapaya tidak hilang saya simpan disini, barangkali juga akan ada manfaatnya.

Sistem bilangan biner atau sistem bilangan basis dua adalah sebuah sistem penulisan angka dengan menggunakan dua simbol yaitu 0 dan 1. Sistem bilangan biner modern ditemukan oleh Gottfried Wilhelm Leibniz pada abad ke-17. Sistem bilangan ini merupakan dasar dari semua sistem bilangan berbasis digital. Dari sistem biner, kita dapat mengkonversinya ke sistem bilangan Oktal atau Hexadesimal. Sistem ini juga dapat kita sebut dengan istilah bit, atau Binary Digit. Pengelompokan biner dalam komputer selalu berjumlah 8, dengan istilah 1 Byte/bita. Dalam istilah komputer, 1 Byte = 8 bit. Kode-kode rancang bangun komputer, seperti ASCIIAmerican Standard Code for Information Interchange menggunakan sistem peng-kode-an 1 Byte.

CONTOH:
20=1

21=2

22=4

23=8

24=16

25=32

26=64

dst

Ԃ== Perhitungan ==

DesimalBiner (8 bit )
00000 0000
10000 0001
20000 0010
30000 0011
40000 0100
50000 0101
60000 0110
70000 0111
80000 1000
90000 1001
100000 1010
110000 1011
120000 1100
130000 1101
140000 1110
150000 1111
160001 0000

Perhitungan dalam biner mirip dengan menghitung dalam sistem bilangan lain. Dimulai dengan angka pertama, dan angka selanjutnya. Dalam sistem bilangan desimal, perhitungan mnggunakan angka 0 hingga 9, sedangkan dalam biner hanya menggunakan angka 0 dan 1.

contoh: mengubah bilangan desimal menjadi biner

desimal = 10.

berdasarkan referensi diatas yang mendekati bilangan 10 adalah 8 (23), selanjutnya hasil pengurangan 10-8 = 2 (21). sehingga dapat dijabarkan seperti berikut

10 = (1 x 23) + (0 x 22) + (1 x 21) + (0 x 20).

dari perhitungan di atas bilangan biner dari 10 adalah 1010

dapat juga dengan cara lain yaitu 10 : 2 = 5 sisa 0 (0 akan menjadi angka terakhir dalam bilangan biner), 5(hasil pembagian pertama) : 2 = 2 sisa 1 (1 akan menjadi angka kedua terakhir dalam bilangan biner), 2(hasil pembagian kedua): 2 = 1 sisa0(0 akan menjadi angka ketiga terakhir dalam bilangan biner), 1 (hasil pembagian ketiga): 2 = 0 sisa 1 (1 akan menjadi angka pertama dalam bilangan biner) karena hasil bagi sudah 0 atau habis, sehingga bilangan biner dari 10 = 1010

atau dengan cara yang singkat

10:2=5(0),

5:2=2(1),

2:2=1(0),

1:2=0(1) sisa hasil bagi dibaca dari belakang menjadi 1010

Di dalam matematika, bilangan negatif biasanya dinyatakan dengan cara menambahkan tanda − di depan bilangan tersebut. Namun di dalam komputer, bilangan hanya dapat dinyatakan sebagai kode biner 0 dan 1 tanpa ada simbol yang lainnya, sehingga diperlukan suatu cara untuk mengkodekan tanda minus.

Beberapa metode yang dapat digunakan untuk menyatakan bilangan bertanda di sistem bilangan biner adalah: sign-and-magnitude, komplemen satu (ones’ complement), dan komplemen dua (two’s complement).

Komputer modern pada umumnya menggunakan metode komplemen dua, namun metode lain juga digunakan pada situasi tertentu.

Metode Sign-and-magnitude

CONTOH:

8 bit signed magnitude
BinarySignedUnsigned
00000000+00
0000000111
01111111127127
10000000-0128
10000001-1129
11111111-127255

Untuk menyatakan tanda bilangan (positif atau negatif), dapat digunakan salah satu bit yang ada untuk menyatakan tanda tersebut. Bit tersebut (biasanya bit yang pertama atau most significant bit) diset bernilai 0 untuk bilangan positif, dan 1 untuk bilangan negatif. Bit-bit yang lain menyatakan magnitude atau nilai mutlak dari bilangan. Jadi di dalam satu byte (8-bit), satu bit digunakan sebagai tanda, dan 7 bit sisanya sebagai magnitude yang nilainya bisa berisi mulai dari 0000000 (0) sampai 1111111 (127). Cara ini dapat digunakan untuk merepresentasikan bilangan dari −12710sampai +12710. Konsekuensi dari metode ini adalah: akan ada dua cara untuk menyatakan nol, yaitu 00000000 (0) dan 10000000 ([-0|−0]). Komputer generasi awal (misalnya IBM 7090) menggunakan metode ini. Sign-and-magnitude adalah cara yang banyak dipakai untuk merepresentasikan significand di dalam bilangan floating point.

Di dalam metode komplemen dua, bilangan negatif direpresentasikan dengan cara menambahkan satu pada bentuk komplemen satu dari suatu bilangan positif. Di dalam metode komplemen dua, hanya ada satu bilangan nol (00000000).

Misalnya, bentuk komplemen satu dari 00101011 (43) adalah 11010100 (−43). Bentuk komplemen duanya adalah: 11010100 + 1 = 11010101.

CONTOH: 

8 bit two’s complement
Binary valueTwo’s complement interpretationUnsigned interpretation
0000000000
0000000111
01111110126126
01111111127127
10000000-128128
10000001-127129
10000010-126130
11111110-2254
11111111-1255

Didalam dunia komputer kita mengenal empat jenis bilangan, yaitu bilang bineroktaldesimal dan hexadesimal. Bilangan biner atau binary digit (bit) adalah bilangan yang terdiri dari 1 dan 0. Bilangan oktal terdiri dari 0,1,2,3,4,5,6 dan 7. Sedangkan bilangan desimal terdiri dari 0,1,2,3,4,5,6,7,8 dan 9. Dan bilangan hexadesimal terdiri dari 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F.

CONTOH:

Konversi Biner ke Oktal

Metode konversinya hampir sama. Hanya, karena pengelompokkannya berdasarkan 3 bit saja, maka hasilnya adalah: 1010(2) = …… (8) Solusi: Ambil tiga digit terbelakang dahulu. 010(2) = 2(8) Sedangkan sisa satu digit terakhir, tetap bernilai 1. Hasil akhirnya adalah: 12.

BinerOktalDesimalHexadesimal
0000000
0001111
0010222
0011333
0100444
0101555
0110666
0111777
10001088
10011199
10101210A
10111311B
11001412C
11011513D
11101614E
11111715F

Didalam dunia komputer kita mengenal empat jenis bilangan, yaitu bilang bineroktaldesimal dan hexadesimal. Bilangan biner atau binary digit (bit) adalah bilangan yang terdiri dari 1 dan 0. Bilangan oktal terdiri dari 0,1,2,3,4,5,6 dan 7. Sedangkan bilangan desimal terdiri dari 0,1,2,3,4,5,6,7,8 dan 9. Dan bilangan hexadesimal terdiri dari 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F.

CONTOH: 

Konversi Biner ke Desimal

Cara atau metode ini sedikit berbeda. Contoh: 10110(2) = ……(10) diuraikan menjadi: (1×24)+(0x23)+(1×22)+(1×21)+(0x20) = 16 + 0 + 4 + 2 + 0 = 22 Angka 2 dalam perkalian adalah basis biner-nya. Sedangkan pangkat yang berurut, menandakan pangkat 0 adalah satuan, pangkat 1 adalah puluhan, dan seterusnya.

Didalam dunia komputer kita mengenal empat jenis bilangan, yaitu bilang bineroktaldesimal dan hexadesimal. Bilangan biner atau binary digit (bit) adalah bilangan yang terdiri dari 1 dan 0. Bilangan oktal terdiri dari 0,1,2,3,4,5,6 dan 7. Sedangkan bilangan desimal terdiri dari 0,1,2,3,4,5,6,7,8 dan 9. Dan bilangan hexadesimal terdiri dari 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F.

CONTOH: 

        Konversi Biner ke Hexadesimal

Metode konversinya hampir sama dengan Biner ke Oktal. Namun pengelompokkannya sejumlah 4 bit. Empat kelompok bit paling kanan adalah posisi satuan, empat bit kedua dari kanan adalah puluhan, dan seterusnya. Contoh: 11100011(2) = …… (16) Solusi: kelompok bit paling kanan: 0011 = 3 kelompok bit berikutnya: 1110 = E Hasil konversinya adalah: E3(16)

Jelaskan contoh operasi menggunakan bilangan biner

Adalah operasi aritmatika untuk penjumlahan. Untuk menambah dalam bahasa assembler digunakan perintah ADD dan ADC serta INC. Perintah ADD digunakan dengan syntax :

ADD Tujuan,Asal

Perintah ADD ini akan menambahkan nilai pada Tujuan dan Asal. Hasil yang didapat akan ditaruh pada Tujuan, dalam bahasa pascal sama dengan instruksi Tujuan:=Tujuan + Asal. contohnya :

MOV AH,15h ; AH:=15h

MOV AL,4 ; AL:=4

ADD AH,AL ; AH:=AH+AL, jadi AH=19h

Adalah operasi aritmatika untuk perkalian (multiply). Contoh misalnya dalam bahasa rakitan:

Untuk perkalian bisa digunakan perintah MUL dengan syntax:

MUL Sumber

Sumber disini dapat berupa suatu register 8 bit(Mis:BL,BH,..), register 16 bit(Mis: BX,DX,..) atau suatu varibel. Ada 2 kemungkinan yang akan terjadi pada perintah MUL ini sesuai dengan jenis perkalian 8 bit atau 16 bit.

Bila Sumber merupakan 8 bit seperti MUL BH maka komputer akan mengambil nilai yang terdapat pada BH dan nilai pada AL untuk dikalikan. Hasil yang didapat akan selalu disimpan pada register AX. Bila sumber merupakan 16 bit

seperti MUL BX maka komputer akan mengambil nilai yang terdapat pada BX dan nilai pada AX untuk dikalikan. Hasil yang didapat akan disimpan pada register DX dan AX(DX:AX), jadi register DX menyimpan Word tingginya dan AX menyimpan Word rendahnya.

Algoritma Perkalian Booth adalah algoritma perkalian yang mengalikan dua signed binary number dalam notasi two’s complement. Algoritma ini ditemukan oleh Andrew Donald Booth pada tahun 1951 ketika melakukan penelitian dalam kristalografi di Birbeck College di Bloombury, London. Algoritma Booth banyak digunakan dalam dunia computer.

Prosedur (Cara Kerja)

Algoritma Booth bekerja dengan berulang kali menambahkan satu dari dua nilai  ditentukanA dan S untuk produk P, kemudian melakukan shift kanan aritmatik pada P. Misalnya m dan rmenjadi multiplicand dan multiplier, dan x dan y merupakan jumlah bit di m dan r.

1.  Tentukan nilai A dan S, dan nilai awal P. Semua angka-angka harus memiliki panjang sama dengan (x + y + 1).

2.  Tentukan dua paling signifikan (paling kanan) bit dari P.

3.  Lakukan sekali shift kanan aritmatik terhadap nilai yang diperoleh dari langkah 2.

4.  Ulangi langkah 2 dan 3 sebanyak y kali.

5.  Buang LSB dari nilai P (bit paling kanan). Nilai yang diperoleh adalah hasil perkalian m danr.

Contoh

Tentukan nilai dari -5 x 7, dengan m = -5 dan r = 7, dimana x = 4 dan y = 4

Kita akan melakukan 4 kali looping :

1.  P = 0000 0111 0. Dua bit terakhir adalah 10.

→ P = 0101 0111 0. P = P + S.

→ P = 0010 1011 1. Shift kanan aritmatik.

2.  P = 0010 1011 1. Dua bit terakhir adalah 11.

→ P = 0001 0101 1. Shift kanan aritmatik.

3.  P = 0001 0101 1. Dua bit terakhir adalah 11.

→ P = 0000 1010 1. Shift kanan aritmatik

4.  P = 0000 1010 1. Dua bit terakhir adalah 01

→ P = 1011 1010 1. P = P + A.

→ P = 1101 1101 0. Shift kanan aritmatik

Hasil perkalian adalah 1101 1101 = -35

Referensi: 



0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments

0
Would love your thoughts, please comment.x
()
x