Anda di halaman 1dari 10

Bab 2: Sistem Nombor, Operasi dan Kod

Pada akhir bab ini, pelajar dapat:


• mengenali pelbagai jenis nombor asas
• menukar nombor dari satu asas ke asas yang lain
• mengungkap nombor negatif menggunakan kaedah pelengkap dan magnitud bertanda
• melaksanakan operasi aritmetik ke atas mana-mana sistem nombor
• menukar nombor ke beberapa jenis kod seperti BCD, Gray, dan ASCII

2.1 Sistem Nombor Berkedudukan


Nombor yang selalu kita gunakan dalam hidup kita hanya terdiri daripada 10 simbol atau angka, 0
hingga 9. Sistem nombor ini dikenali sebagai sistem perpuluhan (decimal). Ambil nombor 54310
sebagai contoh. Subskrip 10 menunjukkan nombor itu adalah dalam asas 10. Setiap angka dalam
nombor tersebut mewakili nilai “rumah” tertentu. Angka “3” adalah “rumah sa”, angka “4”
adalah “rumah puluh” manakala angka “5” adalah “rumah ratus”. Inilah yang kita telah belajar
semasa kecil dahulu. Sebenarnya, istilah yang lebih tepat untuk “rumah” adalah pemberat
(weight). Setiap angka dalam mana-mana nombor asas akan mempunyai pemberatnya yang
tersendiri. Untuk asas 10, nilai pemberat adalah 10n di mana n ialah kedudukan angka dalam
nombor. Sebagai contoh,

491.610 = (4 x 102) + (9 x 101) + (1 x 100) + (6 x 10-1)

Sistem nombor yang digunakan dalam dunia komputer pula adalah sistem penduaan (binary).
Dalam sistem ini, hanya dua digit atau bit digunakan, iaitu 0 dan 1. Asas 2 mempunyai pemberat
bernilai 2n. Sebagai contoh, nombor 110110.1012 mempunyai 9 bit; pemberat bit pertama ialah 25
(= 3210) manakala pemberat bit terakhir ialah 2-3 (= 0.12510). Bit yang bernilai paling tinggi
dikenali sebagai MSB (Most Significant Bit). Bit yang nilainya terendah dikenali sebagai LSB
(Least Significant Bit).

Bayangkan nombor 10001110101001100100111012. Pengendalian nombor ini oleh komputer


adalah begitu mudah sekali tetapi bagi kita untuk mengendalikannya adalah amat sukar kerana
terlalu banyak 1 dan 0. Oleh itu, sistem perlapanan (octal) dan perenambelasan (hexadecimal)
diperkenalkan. Perlapanan mempunyai lapan simbol, 0 hingga 7 manakala perenambelasan
mempunyai 16 simbol, 0 hingga 9, A hingga F. Pemberat untuk nombor asas 8 ialah 8n manakala
untuk asas 16 ialah 16n.

1
2.1

!" 1810
!" 10112
#
!" A16 F16
!$ % # 11101112
!$ 9916
&
! $ 2BF

Asas 10 Asas 2 Asas 8 Asas 16


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Jadual 2.1 Empat Sistem Nombor Asas

Selain daripada empat sistem nombor di atas, nombor asas yang lain perlu juga diketahui seperti
asas 3, asas 5, asas 9 dan sebagainya. Konsep pemberat dalam sistem nombor ini adalah sama
dengan empat yang di atas.

2.2 Penukaran Nombor


Kita tidak mahu bergantung kepada jadual di atas untuk menukar nombor dari satu asas ke asas
yang lain. Oleh itu, teknik-teknik pertukaran perlu diketahui.

2.2.1 Pertukaran Dari Nombor Asas Sepuluh


Bagi nilai yang lebih besar daripada sifar, kaedah pembahagian ulangan (repetitive
division) digunakan. Bagi nilai yang kecil daripada sifar, kaedah pendaraban ulangan
(repetitive multiplication) digunakan.

75.8510

2
2.2.2 Pertukaran ke Nombor Asas Sepuluh
Untuk menukar dari mana-mana sistem nombor ke nombor asas sepuluh, kaedah
penambahan pemberat (sum-of-weights) digunakan. Setiap digit didarabkan dengan
pemberat masing-masing, kemudian dijumlahkan untuk mendapatkan nilai asas 10.

1100110.112, 305.68 1B9.C16

2.2.3 Pertukaran dari Nombor Asas Lapan dan Enam Belas ke Asas Dua
Digit terbesar dalam asas 8 ialah 78. Satu digit asas 8 boleh diwakili oleh 3 bit. Manakala
digit terbesar dalam asas 16 ialah F16 yang boleh diwakili oleh 4 bit. Oleh itu, apabila
diberi satu nombor asas 8, setiap digit nombor tersebut hendaklah ditukar ke nilai asas 2
menggunakan tiga bit. Pemberat untuk set 3 bit ialah 4 2 1. Manakala setiap simbol
dalam nombor asas 16 hendaklah dtukar ke nilai asas 2 menggunakan empat bit.
Pemberat untuk kumpulan 4 bit ialah 8 4 2 1.

73.568 E52.0F16 .

2.2.4 Pertukaran dari Nombor Asas Dua ke Asas Lapan dan Enam Belas
Untuk menukar dari asas dua ke asas 8, bit-bit dikumpulkan bertiga-tiga dan setiap set
tiga bit itu ditukarkan ke satu digit asas lapan. Manakala untuk menukar ke asas 16, bit-
bit dikumpulkan dalam kumpulan berempat sebelum ditukarkan ke satu digit asas enam
belas. Pengumpulan bit-bit mesti dimulakan di titik perpuluhan.

" 11001010110.11011012

3
2.2.5 Pertukaran dari Nombor Asas Lapan ke Asas Enam Belas dan Sebaliknya
Nombor asas 8 tidak boleh ditukar ke asas 16 secara langsung, dan begitu juga sebaliknya
Nombor itu mesti ditukar ke asas 2 atau asas 10 terlebih dahulu. Pertukaran melalui
nombor asas 2 adalah lebih mudah berbanding asas 10. Cara pertukaran yang dipelajari
dalam seksyen 2.2.3 dan 2.2.4 digunakan.

! 307.6418 ! A5D.3B16

2.2.6 Pertukaran Asas-asas yang Lain


Secara amnya, pertukaran nombor boleh dibuat dalam mana-mana asas. Katakan nombor
2036 hendak ditukar ke asas 11, bagaimanakah caranya? Nombor itu hendaklah ditukar ke
asas 10 terlebih dulu. Dengan menggunakan teknik yang dipelajari dalam seksyen 2.2.2,
maka 2036 = 7510. Seterusnya, nombor asas 10 itu ditukar ke asas 11 menggunakan teknik
dalam seksyen 2.2.1, menghasilkan 6911.

! 2A01 ! 2012103

2.3 Operasi Nombor secara Aritmetik


Anda telah mempelajari operasi penambahan, penolakan, pendaraban dan pembahagian dalam
sistem perpuluhan sebelum ini. Kali ini, tumpuan akan diberi kepada operasi yang melibatkan
asas-asas yang lain.

2.3.1 Operasi Penambahan


Sekiranya nombor yang hendak ditambah berlainan sistem, maka hendaklah disamakan
asasnya sama ada menukar salah satu atau kedua-dua nombor itu. Kemudian, nombor itu
ditambah seperti dalam asas 10. Hasil tambah itu perlu ditukar ke asas yang asal dan
sekiranya terdapat pembawa, ia hendaklah ditambah ke digit berikutnya.

4
"
a) 11101012 + 1101102 + 10110112 = ( )2
b) 3758 + 4338 = ( )8
c) B8.9C 16 + 143.F16 = ( )16

2.3.2 Operasi Penolakan


Konsep penolakan dalam nombor asas yang lain adalah sama seperti dalam asas 10.
Dalam nombor asas 10, apabila nilai yang ditolak adalah lebih besar, pinjaman bernilai
10 hendaklah dibuat dari digit berikutnya. Nilai pinjaman ini ditambah ke digit penolak
sebelum melakukan operasi penolakan. Dalam asas 2, pinjaman adalah bernilai 2
manakala dalam asas 8, pinjaman bernilai 8 dan begitulah seterusnya.

'
a) 110010012 - 1001112 = ( )2
b) 5268 - 2438 = ( )8
c) 375.A16 - B4.C516 = ( )16

2.3.3 Operasi Pendaraban


Apabila kita mendarab dalam perpuluhan, setiap digit dalam dua nombor itu didarab dan
menghasilkan komponen-komponen produk (partial products). Komponen ini
kemudiannya ditambah mengikut aturan yang ditetapkan. Untuk sistem nombor bukan
asas 10, pendaraban digit dan komponen yang terhasil adalah masih dalam asas sepuluh.
Selepas komponen-komponen itu ditambah, hasilnya mesti ditukar ke sistem nombor
yang sepatutnya.

Contoh: Lakukan pendaraban berikut.


a) 3A516 x A16 = ( )16 b) 1638 x 348 = ( )8

2.3.4 Operasi Pembahagian


Pembahagian dalam sistem nombor bukan asas 10 adalah sukar. Nombor yang hendak
dibahagi boleh ditukar ke asas 2 untuk memudahkan pembahagian. Nilainya ‘1’ jika digit
dalam nombor itu boleh dibahagi 2 manakala nilainya ‘0’ jika sebaliknya. Namun, anda
akan pening kepala melihat rangkaian 1 dan 0 yang panjang. Cara yang lain adalah untuk
membahagi dalam asas 10.

5
(
a) 11010112 ÷ 1012 = ( )2
b) 2018 ÷ 78 = ( )8 kepada dua tempat perlapanan.

2.4 Perwakilan dan Operasi Nombor Bertanda


Setakat ini, kita cuma menumpu kepada magnitud sesuatu nombor tanpa melihat sama ada
nombor itu positif atau negatif. Kini, tanda tersebut akan diambil kira. Ada dua cara untuk
mewakilkan nombor bertanda: 1) magnitud bertanda (signed magnitude), dan 2) pelengkap
(complement).

Teknik magnitud bertanda:


Biasanya kita menggunakan simbol “+” untuk nombor positif dan “-“ untuk nombor negatif. Kali
ini, satu digit bertanda akan digunakan.
Untuk nombor asas 10, wakilkan dengan digit ‘0’ jika positif dan ‘9’ jika negatif.
Untuk nombor asas 2, wakilkan dengan digit ‘0’ jika positif dan ‘1’ jika negatif.
Untuk nombor asas 8, wakilkan dengan digit ‘0’ jika positif dan ‘7’ jika negatif.
Untuk nombor asas 16, wakilkan dengan digit ‘0’ jika positif dan ‘F’ jika negatif.
Secara amnya, untuk nombor asas r, wakilkan dengan digit ‘0’ jika positif dan ‘r-1’ jika negatif.

a) + 3518 = 0, 351 SM, 8 b) - 7C.3 16 = F, 7C.3 SM, 16


c) - 1001012 = 1, 100101 SM, 2 d) + 10010 = 0, 100 SM, 10

Teknik pelengkap :
Terdapat dua jenis pelengkap, salah satu daripadanya ialah pelengkap-r (r’s complement) yang
juga dikenali sebagai pelengkap asas (radix complement) atau pelengkap sebenar (true
complement). Satu lagi pelengkap ialah pelengkap (r-1) juga disebut sebagai pelengkap asas-
menyusut (diminished-radix complement) atau pelengkap asas-tolak-satu (radix-minus-one
complement). Jadual 2.2 di bawah menunjukkan nama kedua-dua pelengkap untuk beberapa
sistem nombor.

Asas, r Pelengkap-r Pelengkap (r-1)


2 Pelengkap-2 Pelengkap-1
8 Pelengkap-8 Pelengkap-7
10 Pelengkap-10 Pelengkap-9
16 Pelengkap-16 Pelengkap-15
Jadual 2.2 Pelengkap-r dan pelengkap (r-1)

Formula untuk mendapatkan kedua-dua pelengkap adalah seperti di bawah.

! !
" "
#
" " $%
&

6
Formula tersebut hanya digunakan jika N negatif. Sekiranya N positif, pelengkap untuk N ialah
“0, N” untuk semua nombor asas. Selain daripada formula di atas, kaedah songsangan juga boleh
digunakan.

2.3 )

Nombor, N Magnitud Pelengkap-r Pelengkap (r – 1)


bertanda
+ 39 10
- 175 8
+ 1110012
- 1001.102
- 73.5 10
+ 34.06 8
- AA 16

Jadual 2.3 Magnitud bertanda dan pelengkap untuk nombor asas N

Sekiranya diberi nombor pelengkap-r atau pelengkap (r-1), bolehkah anda mencari nilai
perpuluhannya? Jika nombor itu adalah pelengkap-r, teknik penambahan pemberat seperti dalam
seksyen 2.2.2 digunakan. Bezanya kali ini, pemberat digit pertama adalah bernilai negatif dan
tidak perlu didarabkan dengan digit itu sendiri. Jika nombor itu adalah pelengkap (r-1), nilai “1”
perlu ditambah kepada hasil penambahan pemberat.

)
a) 10010101 pelengkap-2, 2 b) 0101101 pelengkap-2, 2
c) 9158 pelengkap-10, 10 d) 10011pelengkap-1, 2

Operasi aritmetik boleh juga dilakukan pada nombor bertanda. Untuk kursus ini, hanya operasi
penambahan dan penolakan dititikberatkan. Namun, penolakan juga boleh dilihat sebagai
penambahan nombor negatif. Oleh itu, penumpuan kita adalah khusus kepada operasi
penambahan sahaja. Nombor bertanda yang hendak ditambah hendaklah ditukar kepada
pelengkap-r. Nombor magnitud bertanda adalah tidak sesuai untuk operasi aritmetik.

' "
" " ! ! ! ( % ! ! "
%
" ! ! ! ( % )* ! (
$ " ! ! % ( % )* (
+ % !, (!* ! % " - . )* %
- / - %
e) 0 ! ! % " - )* %
- 0 ! % % . ! ! -
%

7
* '
a) 3610 – 4510
b) - 1910 - 3010 (Gunakan saiz 8 bit untuk pelengkap-2)

2.5 Sistem Kod


Selain daripada sistem bernombor, kita juga perlukan sistem kod yang mengenkod nombor,
aksara dan lain-lain simbol kepada rangkaian bit yang unik. Tiga sistem kod akan dibincangkan
iaitu BCD, kod Gray dan kod ASCII.

2.5.1 BCD (Binary-Coded-Decimal)


Kita tahu sistem perpuluhan hanya mempunyai sepuluh digit. Digit terbesar ialah 9 dan ia
boleh diwakili oleh 4 bit. Jika setiap digit asas sepuluh dienkodkan ke sistem penduaan
menggunakan pemberat 8 4 2 1, maka jadual 2.4 akan diperoleh. Jadual ini
menunjukkan nombor ‘perpuluhan-terkod-penduaan’ ataupun BCD.

Digit Perpuluhan BCD ( 8 4 2 1)


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Jadual 2.4 Digit perpuluhan dan BCD.

Perhatikan bahawa kombinasi 1010, 1011, 1100, 1101, 1110 dan 1110 adalah tidak sah
(invalid) dalam BCD. Pertukaran nombor ke BCD juga hanya boleh dilakukan melalui
sistem perpuluhan.

a) 37.0510 ke BCD
b) 111010002 ke BCD
c) 100100000011.10000101BCD

8
Operasi penambahan dua nombor BCD boleh dilakukan. Setelah menukar setiap digit
asas 10 kepada 4 bit BCD, bit-bit ini ditambah seperti penambahan asas 2. Namun, setiap
set 4 bit harus diperiksa sama ada mengandungi kombinasi tidak sah ataupun telah
melepasi kombinasi 0000. Jika ini berlaku, pembetulan hendaklah dibuat dengan
menambah nilai “610” atau “0110BCD” kepada set tersebut.

( ")+
a) 72.810 + 35.910 b) 64910 + 15310

2.5.2 Kod Gray


Kod Gray menggunakan bit “1” dan “0” tetapi tidak mempunyai pemberat seperti BCD
dan tidak boleh digunakan untuk operasi aritmetik. Ciri utama kod Gray ialah cuma satu
bit akan bertukar dari satu kod perkataan ke perkataan berikutnya. Bit pada bahagian
kanan perkataan akan bertukar dulu.

, - %

Asas 10 Asas 2 (4 bit) Kod Gray


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

Jadual 2.5 Kod Gray dan Sistem Penduaan

9
Pertukaran kod Gray hanya boleh dibuat melalui sistem penduaan.

Teknik menukar kod Gray ke nombor asas 2:


a) Samakan bit pertama (MSB) dalam nombor asas dua dengan bit pertama (bit yang
paling kiri) dalam kod Gray.
b) Bandingkan bit pertama dengan bit ke-2 kod Gray. Jika kedua bit itu sama, maka bit
ke-2 asas 2 nilainya “0”. Jika kedua bit itu berlainan, maka bit ke-2 asas 2 nilainya
“1”.
c) Bandingkan bit ke-2 dengan bit ke-3 kod Gray dan hasilkan bit ke-2 nombor asas
dua.
d) Teruskan perbandingan sehingga semua bit ditukar ke nombor asas dua.

Teknik menukar nombor asas dua ke kod Gray:


a) Samakan bit pertama kod Gray dengan bit pertama (MSB) dalam nombor asas 2.
b) Bandingkan bit pertama kod Gray dengan bit ke-2 nombor asas dua. Jika kedua bit
itu sama, maka bit ke-2 kod Gray nilainya “0”. Jika kedua bit itu berlainan, maka bit
ke-2 kod Gray nilainya “1”.
c) Bandingkan bit ke-2 kod Gray dengan bit ke-3 nombor asas dua dan hasilkan bit ke-2
kod Gray.
d) Teruskan perbandingan sehingga semua bit ditukar ke nombor asas dua.

) 10110112 - % ! 1001111.001Gray

2.5.3 Kod ASCII


ASCII, atau nama panjangnya American Standard Code for Information Interchange
ialah satu kod yang diterimapakai oleh hampir kesemua komputer dan mesin elektronik.
Kebanyakan papan kekunci (keyboard) komputer telah dipiawaikan dengan ASCII.
Apabila anda menekan butang aksara, nombor atau kawalan, litar pada pada papan
kekunci akan menghasilkan kod ASCII untuk dihantar ke komputer.

ASCII mempunyai 128 karakter dan simbol yang diwakili oleh 7 bit nombor asas dua. 32
karakter pertama dalam ASCII mewakili arahan (command) yang digunakan untuk tujuan
kawalan. Jadual 2.6 di muka sebelah menunjukkan kod ASCII bagi kesemua 128
karakter.

10