Sistem Bilangan
Dalam bab ini kita akan membahas tentang sistem bilangan yang
digunakan dalam bahasa komputer yaitu bilangan biner (bilangan ini berbasis
dua, yaitu 0,1) , bilangan oktal(bilangan ini ber-basis delapan, yaitu
0,1,2,3,4,5,6,7), bilangan desimal atau bilangan yang biasa kita gunakan se-hari
hari (bilangan ini berbasis sepuluh, yaitu 0,1,2,3,4,5,6,7,8,9), dan bilangan
hexadesimal(bilangan ini berbasis enam belas, yaitu
0,1,2,3,4,5,6,7,8,9a,b,c,d,e,f).
Konversi
Bilangan
Bilangan bilangan diatas masing masing memiliki basis nilai yang
berbeda maka diperlukan suatu konversi bilangan agar daat menentukan nilai
bilangan satu dengan bilangan yang lain misalnya 10 desimal bernilai sama
dengan 13 oktal. Pada bab konversi bilangan ini saya akan membahas konversi
bilangan dari desimal ke biner, oktal ke biner,
hexadesimal ke biner ,biner ke oktal, biner ke desimal, biner ke
hexadesimal. Saya hanya membahas konversi menggunakan biner sebagai patokan
konversi, karena saya menganggap cara ini paling mudah untuk dipahami dan
diingat. Bilangan biner ini adalah bilangan bilangan yang dapat dikatakan
paling penting dan paling dasar yang digunakan oleh perangkat komputer maupun
mikroprosesor. Bilangan ini terdiri dari bilangan 1 (MSB- Most Significant Bit)
dan 0(LSB-Least Significant Bit ).
1.
Konversi
dari bilangan desimal ke bilangan biner (...(10) ke ...(2))
Cara
mengkonversi bilangan desimal ke bilangan biner adalah dengan cara membagi 2 bilangan
desimal serta menyimpan sisa dari setiap pembagian tersebut lalu membagi lagi
bilangan hasil pembagian sampai hasilnya . Hasil dari konversi adalah sisa dari
setiap pem-bagian dan angka hasil konversi dimulai dari sisa yang paling akhir
ke sisa yang paling awal. Lebih jelasnya lihat contoh soal dibawah ini.
150(l0) = .... (2)
150/2 = 75 sisa bagi 0
75/2 = 37 sisa bagi 1
37/2 =18 sisa bagi 1
18/2 =9 sisa bagi 0
9/2 =4 sisa bagi 1
4/2 =2 sisa bagi 0
150/2 = 75 sisa bagi 0
75/2 = 37 sisa bagi 1
37/2 =18 sisa bagi 1
18/2 =9 sisa bagi 0
9/2 =4 sisa bagi 1
4/2 =2 sisa bagi 0
2/2 =1 sisa
bagi 0
Jadi hasil konversi 150 desimal ke biner adalah 1 0 0 1 0 1 1 0
2.
Konversi
dari bilangan oktal ke bilangan biner (...(8)ke...(2))
Cara mengkonversi bilangan oktal ke bilangan biner adalah dengan
cara memecah setiap satuan bilangan bilangan oktal (satu angka) menjadi biner
(tiga angka). Untuk lebih jelasnya lihat contoh dibawah ini.
256(8)=...(2)
2
|
5
|
6
|
Oktal
(8)
|
0 1 0
|
1 0 1
|
1 1 0
|
Biner
(2)
|
Jadi
hasil konversi 256 oktal ke biner adalah
0 1 0 1 0 1 1 1 0
3.
Konversi
dari bilangan hexadesimal ke bilangan biner (...(16)ke...(2))
Cara mengkonversi bilangan hexadesimal ke bilangan biner hampir
sama dengan bilangan oktal ke biner adalah dengan cara memecah setiap satuan
bilangan hexadesimal (satu angka) menjadi biner(empat angka). Untuk lebih
jelasnya perhatikan contoh dibawah ini.
B29(16)=...(2)
B
|
2
|
9
|
Hexadesimal
(8)
|
1 0 1 1
|
0 0 1 0
|
1 0 0 1
|
Biner
(2)
|
Jadi, hasil konversi B29 hexadesimal ke biner adalah 1 0 1 1 0 0 1 0 1 0 0 1
4.
Konversi
dari bilangan biner ke bilangan desimal (...(2)ke...(10))
Cara mengkonversi bilangan biner ke
desimal adalah dengan cara mengalikan satu persatu bilangan bilangan biner
dengan 2 pangkat 0, 2 pangkat 1, dst. Dimulai dari angka paling kanan kekiri
lalu hasil perkalian tersebut dijumlah. Lebih jelasnya perhatikan contoh
dibawah ini.
1 1 1 0 0 1 1 0 1 1(2)=...(10)
Biner
|
Dikali dengan
|
Desimal
|
1
|
29 (512)
|
512
|
1
|
28 (256)
|
256
|
1
|
27 (128)
|
128
|
0
|
26 (64)
|
0
|
0
|
25 (32)
|
0
|
1
|
24 (16)
|
16
|
1
|
23 (8)
|
8
|
0
|
22 (4)
|
0
|
1
|
21 (2)
|
2
|
1
|
20 (1)
|
1
|
Jumlah
|
923
|
Jadi,
hasil konversi 1 1 1 0 0 1 1 0 1 1 biner ke desimal adalah 923
5.
Konversi
bilangan biner ke bilangan oktal
Cara mengkonversi bilangan biner
menjadi bilangan oktal adalah dengan memisah misah bilangan biner masing masing
3 angka atau kebalikan dari oktal ke biner. Dengan memisah mulai dari sisi kiri
ke kanan. Untuk lebih jelasnya perhatikan contoh dibawah ini.
0 1 0 0 1 1 1 1 1(2) = ...(8)
0
1 0
|
0
1 1
|
1
1 1
|
Biner
(2)
|
2
|
3
|
7
|
Oktal
(8)
|
Jadi, hasil konversi 0 1 0 0 1 1 1 1 1 biner ke oktal adalah 237
6.
Konversi
bilangan biner ke hexadesimal
Cara
mengkonversi bilangan biner menjadi bilangan oktal adalah dengan memisah
bilangan biner masing masing 4 angka atau hampir sama dengan biner ke oktal
namun untuk hexadesimal pemisahannya 4 angka. Agar lebih jelas perhatikan
contoh dibawah ini.
1 1 0 0 1 1 0 1
0 1 1 1(2)=...(8)
1
1 0 0
|
1
1 0 1
|
0
1 1 1
|
Biner
(8)
|
C
|
D
|
7
|
Hexadesimal
(2)
|
Jadi, hasil konversi 1 1 0 0 1 1 0 1 0 1 1 1 biner ke hexadesimal
adalah CD7.
Apabila
menginginkan untuk mengkorvesikan dari bilangan hexadesimal oktal maka bilangan
hexadesimal dapat dikonversi melalui biner terlebih dahulu kemudian baru diubah
ke oktal.
One’s Complement dan Two’s Complement
One’s
complement dan two’s complement adalah dua sistem penomoran yang digunakan untuk
menyatakan sebuah bilangan biner yang bernilai negatif .
1.
One’s
Complement
Cara
menggunakan sistem one’s complement adalah
dengan langsung membalik nilai setiap bit biner. Namun sistem ini memiliki
kelemahan yaitu menyatakan bahwa nilai 0 dapat bernilai positif namun juga bisa
negatif.
Biner
|
Desimal
|
|
0
|
00011
|
-3
|
0
|
00010
|
-2
|
0
|
00001
|
-1
|
0
|
00000
|
-0
|
1
|
11111
|
0
|
1
|
11110
|
1
|
1
|
11101
|
2
|
1
|
11100
|
3
|
Dari tabel tersebut terluhat bahwa terdapat dua angka 0 yang agak
mem bingungkan oleh karena itu dibuatlah sistem two’s complement. Cara menghitung
menggunakan rumus one’s complement seperti pada contoh dibawah ini.
-10(10)=1010
1
|
0101
|
Angka 1 pada kolom pertama menandakan nilai negatif
Hasil dari -10 desimal
menggunakan one’s complement adalah
1
|
0101
|
2.
Two’s
Complement
Cara menggunakan sistem two’s
complement adalah dengan menurunkan setiap nilai dari bit mulai dari bit paling
kiri sampai bit bernilai 1. Setelah itu baru dibalik atau not. Sistem ini
digunakan untuk menyempurnakan sistem one’s complement. Dalam sistem ini tidak ada angka 0 bernilai
posotif ataupun negatif. Nilai 0 tetap nilai netral.
Biner
|
Desimal
|
|
0
|
00011
|
3
|
0
|
00010
|
2
|
0
|
00001
|
1
|
0
|
00000
|
0
|
1
|
11111
|
-1
|
1
|
11110
|
-2
|
1
|
11101
|
-3
|
1
|
11100
|
-4
|
Dari tabel tersebut terlihat bahwa
nilai 0 adalah nilai netral. Cara meng-gunakan rumus two’s complement adalah
sebagai berikut.
-10(10)=1010
1
|
0110
|
Hasil dari -10 desimal atau negatif
1010 menggunakan rumus two’s complement adalah
1
|
0110
|
Penulisan Nilai Pecahan Pada
Bilangan Biner
Setelah kita mempelajari cara menulis bilangan biner yang bernilai
negatif menggunakan one’s complement dan two’s complemen. Sekarang saya akan
membahas bagaimana cara penulisan bilangan pecahan pada bilangan biner.
Pada dasarnya bilangan biner bila diurutkan akan seperti ini
24
|
23
|
22
|
21
|
20
|
0
|
2-1
|
2-2
|
2-3
|
2-4
|
16
|
8
|
4
|
2
|
1
|
0
|
0,5
|
0,25
|
0,125
|
0,0625
|
Untuk cara menuliskan angka pecahan pada bilangan biner adalah sebagai
berikut
Operasi Penambahan dan Pengurangan Pada Sistem Bilangan
Sebelum
saya membahas bagaimana cara menghitung pada sistem bilangan, perhatikan tabel
dibawah ini terlebih dahulu.
Desimal(10)
|
Biner(2)
|
Oktal(8)
|
Hexadesimal(15)
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
2
|
10
|
2
|
2
|
3
|
11
|
3
|
3
|
4
|
100
|
4
|
4
|
5
|
101
|
5
|
5
|
6
|
110
|
6
|
6
|
7
|
111
|
7
|
7
|
8
|
1000
|
10
|
8
|
9
|
1001
|
11
|
9
|
10
|
1010
|
12
|
A
|
11
|
1011
|
13
|
B
|
12
|
1100
|
14
|
C
|
13
|
1101
|
15
|
D
|
14
|
1110
|
16
|
E
|
15
|
1111
|
17
|
F
|
Untuk dapat menambah dan mengurang suatu bilangan maka kita perlu
mengetahui basis dari bilangan tersebut.
1.
Penambahan
dan pengurangan pada bilangan biner
Bilangan biner
adalah bilangan yang mempunyai basis nilai 2.
Maka dalam penjumlahan hanya ada angka 1 dan 0. Cara menghitungnya sama dengan cara menghitung
bilangan desimal hanya saja pada bilangan desimal memiliki basis 10.
Berikut adalah contoh soal penjumlahan dan pengurangan pada bilangan
biner.
2.
Penambaha
dan pengurangan pada bilangan oktal
Bilangan oktal adalah bilangan yang memiliki basis nilai 8. Cara menghitungnya
sama dengan cara meng hitung bilangan desimal, namun hanya mampunyai nilai
maksimal 7 dengan basis 8. Berikut adalah contoh soal penjumlahan dan
penguranagan pada bilangan oktal.
3.
Penambahan
dan pengurangan bilangan pada bilangan hexadesimal
Bilangan hexadesimal
adalah bilangan yang mempunyai basis nilai 16. Cara menghitungnya juga sama
dengan cara menghitung bilangan desimal namun memiliki nilai maksimal f atau 15
dengan basis 16. Berikut adalah contoh soal penjumlahan dan pengurangan pada
bilangan hexadesimal.
Gerbang Logika
Gerbang logika
atau logic gate adalah sebuah dasar dari sebuah rangkaian digital. Gerbang logika
adalah sebuah rumus atau sistem yang digunakan untuk mengolah sebuah input
untuk dieksekusi sesuai dengan sifat dari gerbang tersebut. Sistem ini
menggunakan nilai high atau 1 dan low atau 0. Macam macam gerbang logika yaitu
AND, OR, XOR, NOT, NAND, NOR, DAN XNOR.
Gerbang
logika AND
Kondisi
output gerbang AND akan bernilai high hanya jika kedua input bernilai high. Selain
itu bernilai low.
Gerbang logika
OR
Kondisi output
gerbang OR akan bernilai high jika salah satu atau semua input bernilai high. Bila
kedua input bernilai low maka output juga kan bernilai low.
Gerbang logika
XOR
Kondisi output
gerbang XOR (Exclusive-OR) akan bernilai high jika hanya salah satu input saja
yang bernilai high. Bila kedua input bernilai sama maka output akan bernilai
low.
Gerbang logika
NOT
Gerbang logika
NOT merupakan gerbang logika kebalikan (inverse).
Kondisi output akan bernilai high saat input bernilai low. Sebaliknya, saat
input bernilai high output akan bernilai low.
Gerbang logika
NAND
Gerbang logika
NAND (Not-AND) merupakan gerbang logika kebalikan (inverse) dari AND. Kondisi output
akan bernilai low hanya saat semua input bernilai high. Selain itu output akan
bernilai high.
Gerbang logika
NOR
Gerbang logika
NOR (Not-OR)merupakan gerbang logika kebalikan(inverse) dari OR. Kondisi output
akan bernilai high hanya saat semua input bernilai low. Selain itu output akan
bernilai low.
Gerbang logika
XNOR
Gerbang logika
XNOR (Exclusive-Not-OR) merupakan gerbang logika kebalikan (inverse) dari XOR. Kondisi
output akan bernilai high hanya saat semua input bernilai sama(high atau low),
selain itu bila nilai input berbeda output akan bernilai low
ini adalah
tabel dari gerbang logika