Minggu, 12 April 2009

Konsep Bilangan Untuk Belajar Bahasa Assembler

Jenis-jenis sistem bilangan, yang
meliputi bilangan sistem bilangan biner, sistem bilangan oktaf, sistem
bilangan desimal, sistem bilangan hexadesimal, bentuk-bentuk konversi
bilangan, proses pengurangan dan penjumlahan sederhana.


Untuk mempelajari bahasa assembler, harus memahami konsep bilangan,
karena berhubungan dalam pengaksesan ke port atau mengetahui pengkodean
ASCII.
Sistem Bilangan adalah kumpulan angka yang membentuk suatu sistem
peredaran tertentu.

Jenis bilangan :
  1. Sistem Bilangan Biner
  2. Sistem Bilangan Oktaf
  3. Sistem Bilangan Desimal
  4. Sistem Bilangan Hexadesimal


Sistem Bilangan Biner
Komputer memproses data atau program dari memori komputer berupa
sejumlah bilangan biner uang menyatakan dalam keadaan hidup atau mati
(on or off) dengan angka 1 dan 0. Sehingga semua yang diproses komputer
hanya angka 0 dan 1, sehingga sistem biner (bilangan berdasar 2)
sangatlah penting. Cara mengkonversi bilangan biner ke bilangan desimal
adalah dengan mengalikan dua dengan pangkat N (suku ke-N).

Contoh :
· Angka 11010 bilangan desimalnya adalah :
( 1 x 24 ) + ( 1 x 23 ) + ( 0 x 22 ) + ( 1 x 21 ) + ( 0 x 20 ) = 26
16 + 8 + 0 + 2 + 0
· Angka 110111 bilangan desimalnya adalah :
( 1 x 25 ) + ( 1 x 24 ) + ( 0 x 23 ) + ( 1 x 22 ) + ( 1 x 21 ) + ( 1 x 20 ) = 55
32 + 16 + 0 + 4 + 2 + 1


Operasi tambah pada sistem biner
Aturan operasi tambah :
Bilangan pertama Bilangan kedua Hasil
0 0 00
1 0 01
0 1 01
1 1 11

Contoh :

· Biner 1110001 + 1011000 = 11001001
Desimal 113 + 89 = 201

· Biner 1010100 + 1111100 = 11010000
Desimal 84 + 124 = 208


Hal-hal penting :
  • Setiap digit bilangan biner disebut satu bit
  • Setiap empat digit bilangan biner disebut satu nibble
  • Setiap delapan digit bilangan biner disebut satu byte
  • Setiap enambleas digit bilangan biner disebut satu word
  • Setiap tiga puluh dua digit bilangan biner disebut satu double word
  • Setiap 128 digit bilangan biner disebut satu para
  • Setiap 256 byte (2048 bit) disebut satu page (halaman).

Sistem Bilangan Oktal
Merupakan bilangan berdasar 8, terdiri angka 0, 1, 2, 3, 4, 5, 6, dan 7
serta jarang digunakan. Konversi bilangan oktal ke desimal mempunyai
cara yang sama bila anda melakuka konversi bilangan biner ke desimal,
hanya saja menggunakan dasar delapan.

Contoh :
· 355 bilangan oktal ke desimal :
( 3 x 82 ) + ( 5 x 81 ) + ( 5 x 80 )
192 + 40 + 5 = 237 Desimal

· 204 bilangan oktal ke desimal :
(2 x 82 ) + ( 0 x 81 ) + ( 4 x 80 )
128 + 0 + 4 = 132 Desimal


Sistem Bilangan Desimal
Jenis bilangan yang umum dipakai dalam kehidupan sehari-hari yang
menggunakan 10 simbol dasar (digits), yaitu : 0, 1, 2, 3, 4, 5, 6, 7,
8, dan 9.
Contoh :
· Angka 321 dengan dasar 10, maka :
3932 = ( 3 x 103 ) + ( 9 x 102 ) + ( 3 x 101 ) + ( 2 x 100 )

· Angka 4532 dengan dasar 10, maka :
4532 = ( 4 x 103 ) + ( 5 x 102 ) + ( 3 x 101 ) + ( 2 x 100 )


Sistem Bilangan Hexadesimal
Bilangan yang mutlak dipahami dalam memakai bahasa Assembler. Hal ini
disebabkan berbagai perintah assembler baik dalam program yang digunakan
dengan utility 'DEBUG' (DOS) dan 'COMPILER TURBO ASSEMBLER'.
Terdiri 16 bilangan, yaitu 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. (Hexa = 6 ;
Desimal = 10).
Cara mengkonversi bilangan desimal ke bilangan hexadesimal :
· 3A bilangan desimalnya adalah :
( 3 x 161 ) + ( A x 160 )
48 + 10 = 58 Desimal
· A341 bilangan desimalnya adalah :
( 10 x 163 ) + ( 3 x 162 ) + ( 4 x 161 ) + ( 1 x 160 )
40960 + 768 + 64 + 1 = 41793 Desimal



Tabel Hexadecimal Digits and Binary Equivalent

Hex Digits Binary
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111


Tabel Decimal, Binary, and Hexadecimal Equivalent

Decimal Binary Hexadecimal
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 10000 10
17 10001 11
18 10010 12
19 10011 13
20 10100 14
21 10101 15
22 10110 16
23 10111 17
24 11000 18
25 11001 19
26 11010 1A
27 11011 1B
28 11100 1C
29 11101 1D
30 11110 1E
31 11111 1F
32 100000 20
. . .
. . .
. . .
256 100000000 100
. . .
. . .
. . .
1024 . 400
. . .
. . .
. . .
32767 . 7FFF
32768 . 80000
. . .
. . .
. . .
65535 . FFFF

______________________________

1 Kilobyte (1 KB) = 1024 = 400h
64 Kilobytes (64 KB) = 65536 = 10000h
1 Megabyte (1 MB) = 1,048,576 = 100000h

Bentuk-bentuk Konversi
8 A 2 D h = 8 x 163 + A x 162 + 2 x 161 + D x 160
= 8 x 163 + 10 x 162 + 2 x 161 + 13 x 160
= 35373 Desimal

8 A 2 D h = 8 x 163 + A x 162 + 2 x 161 + D x 160
= (( 8 x 16 + A ) x 16 + 2 ) x 161 + D
= (( 8 x 16 + 10 ) x 16 + 2 ) x 16 + 13
= 35373 Desimal

1 1 1 0 1 b = 1 x 2 4 + 1 x 23 + 1 x 22 + 0 x 21 + 1 x 2 0
= 29 Desimal

1 1 1 0 1 b = 1 1 1 0 1
= 1 x 2 + 1 => 3 x 2 + 1 => 7 x 2 + 0 => 14 x 2 + 1
= 29 Desimal

2 B D 4 h = 2 B D 4
= 2 x 16 + 11 => 43 x 16 + 13 => 701 x 16 + 4
= 11220 Desimal

1 1 1 7 2 d = 698 x 16 + 4
698 = 43 x 16 + 10 (Ah)
43 = 2 x 16 + 11 (Bh)
2 = 0 x 16 + 2
==> = 2BA4 Hex

9 5 d = 47 x 2 + 1
47 = 23 x 2 + 1
23 = 11 x 2 + 1
11 = 5 x 2 + 1
5 = 2 x 2 + 1
2 = 1 x 2 + 0
1 = 0 x 2 + 1
==> = 1011111 Biner

2 B 3 C h = 2 B 3 C
= 0010 1011 0011 1100
= 0010101100111100 Bin

1110101010 b = 11 1010 1010
= 3 A A
= 3AA Hex


Operasi Penjumlahan dan Pengurangan
2 5 4 6
1 8 7 2 +
4 4 1 8 d

5 B 3 9 h
7 A F 4 h +
D 6 2 D h

1 0 0 1 0 1 1 1 1
1 1 0 1 1 0 +
1 0 1 1 0 0 1 0 1 b

9 1 4 5
7 2 8 3 -
1 8 6 2 d

D 2 6 F
B A 9 4 -
1 7 D B h

1 0 0 1
0 1 1 1 -
0 0 1 0 b

1 komentar:

  1. Halo Mba savitri salam kenal
    nama saya iway
    saya juga seorang blogger mohon bantuannya dong untuk perhitungan hexa ini hasilnya berapa ya??
    00f+4 =??

    mohon info ya tks

    BalasHapus