MATERI
SISTEM BILANGAN
1. Pendahuluan
Sistem analog/digital memproses sinyal-sinyal bervariasi dengan waktu yang
memiliki nilai-nilai kontinyu/diskrit seperti yang terlihat pada gambar 1.
Gambar 1 : sinyal analog vs sinyal diskrit
Beberapa keuntungan sistem digital dibandingkan dengan sistem analog adalah :
-
Kemampuan mereproduksi sinyal yang lebih baik dan akurat
-
Mempunyai reliabilitas yang lebih baik (noise lebih rendah akibat imunitas
yang lebih baik)
-
mudah di disain, tidak memerlukan kemampuan matematika khusus untuk
memvisualisasikan sifat-sifat rangkaian digital yang sederhana
-
fleksibilitas dan fungsionalitas yang lebih baik
-
kemampuan pemrograman yang lebih mudah
-
lebih cepat (debug IC complete complex digital dapat memproduksi sebuah
keluaran lebih kecil dari 2 nano detik)
-
Ekonomis jika dilihat dari segi biaya IC yang akan menjadi rendah akibat pengulangan dan produksi massal dari integrasi jutaan elemen logika digital
pada sebuah chip
miniatur tunggal.
Sistem digital menggunakan kombinasi-kombinasi biner BENAR & SALAH
untuk menyerupai cara ketika menyelesaikan masalah sehingga disebut juga logika-logika
kombinasional. Dengan sistem digital dapat digunakan langkah-langkah berpikir
logis atau
keputusan-keputusan masa lalu (memori) untuk menyelesaikan masalah
sehingga biasa disebut logika-logika sekuensial (terurut).
Logika digital dapat direpresentasikan dengan beberapa cara yaitu :
-
Tabel kebenaran (truth table) menyediakan suatu daftar setiap kombinasi yang mungkin
dari masukan-masukan biner pada sebuah rangkaian digital dan keluaran-keluaran yang terkait.
-
Ekspresi-ekspresi Boolean mengekspresikan logika pada sebuah format fungsional.
-
Diagram gerbang logika (logic gate diagrams)
-
Diagrams penempatan bagian (parts placement diagrams)
-
High level description language (HDL)
2. Macam-macam
Sistem Bilangan
Beberapa sistem bilangan :
a.
Bilangan Desimal
Bilangan desimal adalah bilangan yang memiliki basis 10
Bilangan tersebut adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9 ( r = 10 )
b.
Bilangan Biner
Bilangan biner adalah bilangan yang memiliki basis 2
Bilangan tersebut adalah 0 dan 1 ( r = 2 )
c.
Bilangan Oktal
Bilangan oktal adalah bilangan yang memiliki basis 8
Bilangan tersebut adalah 0, 1, 2, 3, 4, 5, 6, dan 7 ( r = 8 )
d.
Bilangan Heksadesimal
Bilangan Heksadesimal adalah bilangan yang memiliki basis 16
Bilangan tersebut adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F ( r = 16 )
3.
Konversi Bilangan
Dalam mengolah data
digital, tak jarang ditemukan suatu sistem bilangan dengan suatu basis tertentu
harus diolah dengan menggunakan suatu sistem bilangan yang lain, misalnya:
suatu data dalam sistem bilangan heksadesimal diolah dalam sistem desimal. Agar
dapat diolah, maka diperlukan konversi sistem bilangan.
3.1 Konversi Sistem Bilangan ke Desimal
a.
Konversi
Bilangan Biner ke Bilangan Desimal
Di sini bilangan yang akan
dikonversi adalah 1011001₂.
Langkah yang akan dilakukan adalah mengalikan bilangan berikut dengan angka
delapan yang berpangkat, mulai 0 untuk yang paling belakang (LSB) sampai
pangkat tertinggi untuk yang terdepan (MSB). Kemudian hasil perkalian tersebut
dijumlah. Berikut langka-langkahnya :
(1x2⁰)+(0x2¹)+(0x2²)+(1x2³)+(1x2⁴)+(0x2⁵)+(1x2⁶) = 1+0+0+8+16+0+64 = 89
Jadi,
BIlangan decimal dari hasil konversi bilangan biner 1011001₂ adalah 89
b.
Konversi
Bilangan Oktal ke Desimal
Di sini bilangan yang akan
dikonversi adalah 43₈.
Langkah yang akan dilakukan adalah mengalikan bilangan berikut dengan angka
delapan yang berpangkat, mulai 0 untuk yang paling belakang (LSB) sampai
pangkat tertinggi untuk yang terdepan (MSB). Kemudian hasil perkalian tersebut
dijumlah. Berikut langkah-langkahnya :
(3x8⁰)+(4x8¹)= 3+32 = 35
Jadi,
BIlangan desimal dari hasil konversi bilangan Oktal 43₈ adalah 35
c.
Konversi
Bilangan Hexadesimal ke Bilangan Desimal
Pada pembahasan ini yang akan coba
dikonversi adalah bilangan 4FC₁₆.
Untuk melakukan konversi ini maka bilangan hexadesimal tersebut dikalikan
dengan angka 16 yang berpangkat.Perkaliannya adalah sebagai berikut :
F
adalah angka 15 dalam desimal, C adalah angka 12 dalam decimal
(12x16⁰)+(15x16¹)+(4x16²) = 12 +
240 + 1024 = 1276
Jadi
Hasil konversi dari Bilangan hexadesimal 4FC₁₆
adalah 1276 desimal.
3.2 Konversi Bilangan Desimal ke Bilangan Non
Desimal
a. Konversi Bilangan Desimal ke Bilangan Oktal
Di sini bilangan yang akan
dikonversi adalah 78. Langkah yang akan dilakukan adalah membagi secara
bertahap angka 78 dengan 8 hingga habis. Berikut langkah-langkahnya :
78 dibagi 8 = 9 sisa 6
9
dibagi 8 = 1 sisa 1
Sama dengan konversi dari decimal ke
biner, penulisan dimulai dari hasil pembagian terakhir kemudian dilanjutkan
dengan angka sisa dari yang terakhir hingga yang pertama. Berikut hasilnya :
116₈.
b. Konversi Bilangan Desimal ke Bilangan Hexadesimal
Di sini bilangan yang akan
dikonversi adalah 150. Langkah yang akan dilakukan adalah membagi secara
bertahap angka 150 dengan 16 hingga habis. Berikut langkah-langkahnya :
150
dibagi 16 = 9 sisa 6
Sama dengan konversi dari decimal ke
biner, penulisan dimulai dari hasil pembagian terakhir kemudian dilanjutkan
dengan angka sisa dari yang terakhir sampai yang pertama. Berikut hasilnya : 96₁₆.
3.3 Konversi Sistem Bilangan ke Biner
a. Konversi Bilangan Desimal ke Bilangan Biner
Di sini bilangan yang akan
dikonversi adalah 54. Langkah yang akan dilakukan adalah membagi secara bertahap
angka 54 dengan 2 hingga habis. Berikut langkah-langkahnya :
54
dibagi 2 = 27 sisa 0
27
dibagi 2 = 13 sisa 1
13
dibagi 2 = 6 sisa 1
6
dibagi 2 = 3 sisa 0
3
dibagi 2 = 1 sisa 1
Penulisannya dimulai dari hasil pembagian terakhir
kemudian dilanjutkan dengan angka sisa dari yang terakhir sampai yang pertama.
Berikut hasilnya : 110110₂.
b. Konversi Bilangan Oktal ke Bilangan Biner
Kali ini bilangan yang akan coba
dikonversi adalah bilangan octal 237₈.
Karena 1 digit bilangan Oktal mewakili 3 Bit yaitu 4, 2, dan 1 maka setiap
digitnya tinggal dimasukkan ke format 4 | 2 | 1, seperti contoh berikut ini :
2 disusun dari
(0x4)+(1x2)+(0x1) maka biner dari 2 = 010
3 disusun dari
(0x4)+(1x2)+(1x1) maka biner dari 3 = 011
7
disusun dari (1x4)+(1x2)+(1x1) maka biner dari 7 = 111
Maka hasil Bilangan Biner dari Bilangan Oktal 237₈ adalah 010011111₂ atau 10011111₂ karena angka 0 di depan
tidak perlu ditulis.
c. Konversi Bilangan Hexadesimal ke Bilangan Biner
Kali ini bilangan yang akan coba dikonversi adalah
bilangan hexadesimal 5D₁₆.
Perlu diketahui, 1 digit bilangan Hexa mewakili 4 Bit yaitu 8, 4, 2, dan 1 maka
setiap digitnya tinggal dimasukkan ke format 8 |4 | 2 | 1, seperti contoh
berikut ini :
5 disusun dari
(0x8)+(1x4)+(0x2)+(1x1) maka biner dari 5 = 0101
D (13 Desimal) disusun dari
(1x8)+(1x4)+(0x2)+(1x1) maka biner dari D = 1101
Maka hasil Bilangan Biner dari Bilangan Hexa 5D₁₆ adalah 01011101₂ atau 1011101₂ karena angka 0 di depan
tidak perlu ditulis.
3.4 Konversi Sistem Bilangan Biner ke Sistem
Bilangan Lain
a. Konversi Bilangan Biner ke Bilangan Oktal
Pada pembahasan ini yang akan coba
dikonversi adalah bilangan 11001010₂.
Untuk melakukan konversi ini maka bilangan biner tersebut dipilah-pilah setiap
3 Bit dari yang paling rendah (belakang). Hasil pemilahannya adalah sebagai
berikut :
11
| 001 | 010
Kemudian dimasukkan kerumus 421
karena bilangan oktal mewakili 3 Bit yaitu 4, 2 dan 1. Berikut perhitungannya :
(1x2)+(1x1)
| (0x4)+(0x2)+(1x1) | (0x4)+(1x2)+(0x1) = (2+1) |
(0+0+1) | (0+2+0) = 3 | 1 | 2
Dan
cara penulisannya adalah 312₈.
b. Konversi Bilangan Biner ke Bilangan Hexadesimal
Pada pembahasan ini yang akan coba
dikonversi adalah bilangan 11010₂.
Untuk melakukan konversi ini maka bilangan biner tersebut dipilah-pilah setiap
4 Bit dari yang paling rendah (belakang). Hasil pemilahannya adalah sebagai
berikut :
1
| 1010
Kemudian dimasukkan kerumus 8421
karena bilangan oktal mewakili 4 Bit yaitu 8, 4, 2 dan 1. Berikut
perhitungannya :
(1x1)
| (1x8)+(0x4)+(1x2)+(0x1) |= 1 | (8+0+2+0) = 1 | 10
Karena pada Bilangan hexadesimal 10
adalah A maka hasil konversi dari Bilangan Biner 11010₂ adalah 1A₁₆.
4.
Aritmatika
Digital
a.
Operasi
Penjumlahan Bilangan Biner
Pada bilangan biner yang hanya
terdiri dari dua sistem bilangan (‘0’ dan ‘1’), sehingga operasi penjumlahan
terhadap bilangan biner akan lebih sederhana, contoh:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = 11
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = 11
Sama hal-nya
seperti pada operasi aritmatika penjumlahan pada bilangan desimal dimana bila
ada hasil penjumlahan yang hasilnya dua digit, maka angka paling sebelah kiri
akan dijumlahkan pada bilangan berikutnya atau dikenal dengan istilah
‘Disimpan’. Sebagai contoh perhatikan penjumlahan bilangan biner berikut ini.
11 1
← (disimpan) → 1
010101 1001001 001101
100010 0011001 100001
----------(+) ----------(+) ----------(+)
110111 1100010 101110
010101 1001001 001101
100010 0011001 100001
----------(+) ----------(+) ----------(+)
110111 1100010 101110
b.
Operasi
Pengurangan Bilangan Biner
Operasi
aritmatika pengurangan pada bilangan biner juga sama seperti operasi
pengurangan pada bilangan desimal, sebagai contoh perhatikan operasi dasar
pengurangan bilangan biner berikut ini.
0 – 0 = 0
1 – 0 = 1
0 – 1 = 1 → bit ‘0’ meminjam 1 dari bit di sebelah kiri-nya
1 – 1 = 0
1 – 0 = 1
0 – 1 = 1 → bit ‘0’ meminjam 1 dari bit di sebelah kiri-nya
1 – 1 = 0
Contoh: Pengurangan 37 - 17 = 20
(desimal) atau 100101 - 010001 = 010100 (biner)
1 → pinjam
100101 = 37
010001 = 17
-----------------(-)
010100 = 20
100101 = 37
010001 = 17
-----------------(-)
010100 = 20
Untuk
menyatakan suatu bilangan desimal yang bernilai negatif adalah dengan menambahkan
tanda negatif (-) pada bilangan-nya, contoh -1, -2, -3, -4, -5 dan seterusnya.
Tetapi pada bilangan biner ini tidak bisa dilakukan, lalu bagaimana untuk
membuat atau membedakan suatu bilangan biner itu bernilai negatif (-).
Ada beberapa cara untuk membuat suatu bilangan biner bernilai negatif, cara yang pertama adalah dengan menambahkan ekstra bit pada bagian paling sebelah kiri bilangan (Most Significant Bit / MSB), contoh;
Ada beberapa cara untuk membuat suatu bilangan biner bernilai negatif, cara yang pertama adalah dengan menambahkan ekstra bit pada bagian paling sebelah kiri bilangan (Most Significant Bit / MSB), contoh;
101 = +5
Dengan menambahkan ekstra
bit:
0101 = +5
→ 0 merupakan ekstra bit (MSB) untuk tanda positif (+)
1101 = -5 → 1 merupakan ekstra bit (MSB) untuk tanda negatif (-)
1101 = -5 → 1 merupakan ekstra bit (MSB) untuk tanda negatif (-)
Cara
seperti di atas ternyata dapat menimbulkan salah persepsi jika kita tidak
cermat, karena nilai -5 = 1101, 1101 dapat diartikan juga sebagai bilangan 13
dalam bilangan desimal. Maka digunakan cara kedua yaitu menggunakan satu metode
yang dinamakan ‘Komplemen Dua’. Komplemen dua merupakan komplemen satu (yaitu
dengan merubah bit ‘0’ menjadi ‘1’ dan bit ‘1’ menjadi ‘0’) kemudian ditambah
satu, contoh;
0101 = +5 → ubah ke bentuk komplemen satu
1010 → komplemen satu dari 101 ini kemudian ditambahkan 1
1
-------(+)
1111 → ini merupakan bentuk komplemen dua dari 0101 yang bernilai -5
Contoh lain, berapakah nilai -7 pada bilangan biner?
0111 = +7
1000 → bentuk komplemen satu
1
-------(+)
1001 → bentuk komplemen dua dari 0111 yang bernilai -7
1000 → bentuk komplemen satu
1
-------(+)
1001 → bentuk komplemen dua dari 0111 yang bernilai -7
Sedangkan contoh
untuk operasi pengurangan menggunakan metode komplemen dua sebenarnya adalah
operasi penjumlahan bilangan biner, perhatikan contoh berikut.
Contoh;
Contoh;
hasil penjumlahan +6 + (– 4) = 2
(desimal), bagaimana jika dalam operasi penjumlahan bilangan biner (komplemen
dua)?
Jawab: Pertama kita cari bentuk komplemen dua dari +4
0100 = +4
1011 → komplemen satu dari 1100
1
-------(+)
100 → komplemen dua dari 100
1011 → komplemen satu dari 1100
1
-------(+)
100 → komplemen dua dari 100
Lalu jumlahkan +6 = 110 dengan -4 = (100)
110
100
---(+)
010 = +2 → hasil penjumlahan 110 (+6) dengan 100 (-4)
100
---(+)
010 = +2 → hasil penjumlahan 110 (+6) dengan 100 (-4)
Yang
perlu diperhatikan dari operasi pengurangan bilangan biner menggunakan metode
komplemen dua adalah jumlah bit-nya. Pada contoh di atas semua operasi
pengurangan menggunakan bilangan biner 3 bit (bit = binary digit), maksudnya
disini adalah jika bilangan biner yang dihitung merupakan bilangan biner 3 bit
maka hasilnya harus 3 bit. Seperti pada pengurangan 110 dengan 100 dimana pada
digit paling sebelah kiri (MSB) pada kedua bilangan biner yakni ‘1’ dan ‘1’
jika dijumlahkan hasilnya adalah ‘10’ tetapi hanya digit ‘0’ yang digunakan dan
digit ‘1’ diabaikan.
1
110
100
-------(+)
1010 → ‘1’ pada MSB diabaikan pada operasi pengurangan biner komplemen dua
110
100
-------(+)
1010 → ‘1’ pada MSB diabaikan pada operasi pengurangan biner komplemen dua
Contoh lain hasil pengurangan
bilangan desimal 3 – 5 = -2 jika dalam biner.
11
011 → bilangan biner +3
011 → komplemen dua bernilai -5
------(+)
110 → hasilnya = -2 (komplemen dua dari +2)
011 → bilangan biner +3
011 → komplemen dua bernilai -5
------(+)
110 → hasilnya = -2 (komplemen dua dari +2)
Untuk
mengetahui apakah 110 benar-benar merupakan nilai komplemen dua dari +2
cara-nya sama seperti kita merubah dari biner positif ke biner negatif
menggunakan metode komplemen dua. Perhatikan operasi-nya berikut ini.
110 = -2
001 → komplemen satu dari 110
1
------(+)
010 → komplemen dua dari 110 yang bernilai +2
001 → komplemen satu dari 110
1
------(+)
010 → komplemen dua dari 110 yang bernilai +2
Dari contoh semua
operasi perhitungan di atas dapat ditarik kesimpulan bahwa komplemen dua dapat
digunakan untuk mengetahui nilai negatif dan nilai positif pada operasi
pengurangan bilangan biner.
c.
Operasi
Perkalian Bilangan Biner
Sama
seperti operasi perkalian pada bilangan desimal, operasi aritmatika perkalian
bilangan biner pun menggunakan metode yang sama. Contoh operasi dasar perkalian
bilangan biner.
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
Contoh perkalian 12 x 10 = 120 dalam desimal dan biner.
Dalam operasi bilangan desimal;
12
10
---(x)
00
12
----(+)
120
Dalam operasi bilangan biner;
1100 = 12
1010 = 10
----(x)
0000
1100
0000
1100
-------(+)
1111000 = 120
12
10
---(x)
00
12
----(+)
120
Dalam operasi bilangan biner;
1100 = 12
1010 = 10
----(x)
0000
1100
0000
1100
-------(+)
1111000 = 120
d.
Operasi
Pembagian Bilangan Biner
Operasi
aritmatika pembagian bilangan biner menggunakan prinsip yang sama dengan
operasi pembagian bilangan desimal dimana di dalamnya melibatkan operasi
perkalian dan pengurangan bilangan.
Contoh pembagian 9 : 3 = 3 (desimal) atau 1001 : 11 = 11 (biner)
____
11 / 1001 = 11 → Jawaban
11
---(-)
11
11
---(-)
0
11 / 1001 = 11 → Jawaban
11
---(-)
11
11
---(-)
0
Contoh pembagian 42 : 7 = 6 (desimal) atau 101010 : 110 = 111
(biner)
_______
110 / 101010 = 111 → Jawaban
110
------(-)
1001
110
------(-)
110
110
----(-)
0
110 / 101010 = 111 → Jawaban
110
------(-)
1001
110
------(-)
110
110
----(-)
0