SISTEM BILANGAN, OPERASI ARITMATIKA DAN PENGKODEAN
REPRESENTASI DATA
Data : bilangan biner atau informasi berkode biner lain yang
dioperasikan untuk mencapai beberapa hasil penghitungan penghitungan aritmatik,
pemrosesan data dan operasi logika.
Tipe data :
1.
Data Numerik :
merepresentasikan integer dan pecahan fixed-point, real floating-point dan
desimal berkode biner.
2.
Data Logikal : digunakan oleh
operasi logika dan untuk menentukan atau memriksa kondisi seperti yang
dibutuhkan untuk instruksi bercabang kondisi.
3.
Data bit-tunggal : untuk
operasi seperti SHIFT, CLEAR dan TEST.
4.
Data Alfanumerik : data yang tidak hanya dikodekan dengan
bilangan tetapi juga dengan huruf dari alpabet dan karakter khusus lainnya
SISTEM BILANGAN
1. BINER (radiks / basis 2)
§ Notasi : (n)2
§ Simbol : angka 0 dan 1
2. OKTAL (radiks / basis 8)
§ Notasi : (n)8
§ Simbol :
angka 0, 1, 2, 3, 4, 5, 6, 7
3. DESIMAL (radiks / basis 10)
§ Notasi : (n)10
§ Simbol : angka 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
4. HEKSADESIMAL (radiks / basis 16)
§ Notasi : (n)16
§ Simbol : angka 0,1,2,3,4,5,6,7,8,9,A,B, C,D,E,F
KONVERSI SISTEM BILANGAN
1. Basis X ke DESIMAL
·
Bilangan bulat : bilangan tersebut dikalikan dengan Xm (m : sesuai dengan nilai
tempat/bobot).
- Contoh :
1458 = ……..10
1458 = 1x82 + 4x81
+ 5x80 = 64 + 32 + 5
= 10110
·
Bilangan pecahan : bilangan tersebut dikalikan dengan X-m (m: sesuai dengan nilai
tempat/bobot).
- Contoh :
0, 128 = ……..10
0,12 =
1 x 8-1 + 2 x 8-2
= 1/8 +
2/64 = 1/8 + 1/32
= 5/32
2. DESIMAL ke Basis X
·
Bilangan bulat : bilangan tersebut dibagi berulang dengan basis X
·
Bilangan pecahan : bilangan tersebut dikalikan dengan basisnya, dan
berulang untuk hasil kali pecahannya.
3. BASIS X ke BASIS Y
·
Bilangan tersebut diubah ke desimal (lihat no. 1) kemudian ubah desimal
tersebut ke basis Y (lihat no. 2).
REPRESENTASI BILANGAN
§ Dinyatakan dengan sign, bilangan magnitude dan posisi titik
radiks.
§ Titik radiks memisahkan bilangan bulat dan pecahan.
§ Penggunaan titik radiks berkaitan dengan jajaran
bilangan yang dapat ditampung oleh komputer.
§ Representasi Fixed-point : titik radiks selalu pada posisi tetap.
§ Representasi Floating-point :
a =
m x r e
r = radiks, m = mantissa, e = eksponen
Untuk menyatakan bilangan yang sangat besar atau
sangat kecil, dengan menggeser titik radiks dan
mengubah eksponen untuk mempertahankan nilainya.
ARITMATIKA FIXED POINT
PENJUMLAHAN dan PENGURANGAN dalam Desimal
5,67 137,12
43,09 + 10,09 +
PENJUMLAHAN dan PENGURANGAN dalam Basis X
(67)8 (1101)2 (A19)16
(35)8 + (1001)2 + ( 53)16
-
ARITMATIKA FLOATING POINT
Penambahan
dan Pengurangan
0,63524
x 103
0,63215 x 103 +
1,26739
x 103 ® 0,126739 x 104
0,11000 x 22 ® 0,11000 x 23
0,10100 x 23 ® 0,01010 x 23 -
0,01110 x 23
Perkalian
(0,253 x 102)
x (0,124 x 103) = (0,253) x (0,124) x 102+3
= 0,031
x 105 ® 0,31 x 104
Representasi Bilangan
Positif dan Negatif pada bilangan BINER
1.
Label tanda konvensional : +
dan –
Contoh : +4 dan -4
2.
Menggunakan posisi digit
sebelah kiri (MSB) sebagai sign digit
(0 untuk positif dan 1 untuk negatif).
Contoh :Sign-Magnitude +9 dalam 8 bit = 00001001 Sign-Magnitude
–4 dalam 4 bit = 1100
Magnitude dari bilangan positif dan negatif sama
hanya berbeda pada sign digitnya/MSB.
3.
Representasi
Komplemen-1
Angka nol diubah menjadi satu dan satu menjadi nol.
Contoh : Dalam
8 bit
+12
= 00001100
-12 = 11110011
4.
Representasi
Komplemen-2
Dengan representasi komplemen-1 ditambah 1.
Contoh : Dalam
8 bit
-12 = 11111011 (Komplemen-1)
= 11111100
(Komplemen-2)
PENJUMLAHAN dan PENGURANGAN dengan Komplemen-2
Bilangan 6 bit :
+14 = 001110 +12
= 001100
-14 = 110010
-12 = 110100
(+14) 001110 (-14) 110010
(+12) 001100 + (+12) 110100 +
(+14) 001110 (-14) 110010
KODE BINER
1. BCD (Binary
Coded Decimal)
§ Mengkodekan setiap digit desimal dengan 4 bit.
§ Disebut juga kode 8421 artinya MSB mempunyai bobot 8, sedang LSB mempunyai bobot 1.
- Contoh : BCD untuk 4 adalah : 0100
: BCD
untuk 18 adalah : 0001 1000
:
0 0010 1001 . 0010
0101 = 29,2510
0 2 9
, 2 5
2. Kode Gray
§ Kenaikan hitungan (penambahan)
dilakukan hanya dengan pengubahan keadaan satu bit saja.
§ Contoh : Jika 210 dikodekan ke gray adalah ….
Caranya : ubah desimal ke biner dahulu (0010)
BINER
® 0 0
1 0 +
GRAY ® 0 0
1 1
§ Kode Gray sering digunakan dalam situasi dimana kode biner
yang lainnya mungkin menghasilkan kesalahan atau kebingungan selama dalam
transisi dari satu word kode ke word kode yang lainnya, dimana lebih dari satu
bit dari kode diubah.
3. KODE ASCII
§ Kode ASCII termasuk kode
Alfanumerik
§ Contoh : cari kode heksadesimal dan biner untuk huruf b dalam kode
ASCII.
Cari b dalam tabel 2.9 Kode ASCII (Pengantar Organisasi Komputer,
GUNADARMA, halaman 68) nilai barisnya adalah (6)16 = (0110)2
dan nilai kolomnya adalah (2)16
= (0010)2. Jadi kode ASCII
untuk b adalah (62)16 atau (01100010)2.
PRINSIP DAN ALAT PERANCANGAN GERBANG LOGIKA
A. GERBANG LOGIKA & TABEL KEBENARAN
|
1.
|
AND
|
5.
|
NOR
|
|
2.
|
OR
|
6.
|
EX-OR
|
|
3.
|
NOT
|
7.
|
EX-NOR
|
|
4.
|
NAND
|
|
|
B.
RANGKAIAN GERBANG LOGIKA
KOMBINASIONAL
Rangkaian
Gerbang Logika
SEKUENSIAL
RANGKAIAN
LOGIKA KOMBINASIONAL :
Outputnya bergantung pada keadaan nilai input pada saat itu saja. Piranti :
Rangkaian gerbang OR - AND - NOT, decoder, adder, subtractor dan multiplexer.
RANGKAIAN
ADDER :
ADDER
adalah rangkaian penjumlah, terdiri dari :
HALF
ADDER (2-bit)
|
MASUKAN
|
KELUARAN
|
||
|
A
|
B
|
JML (S)
|
Bawaan
Keluar (Co)
|
|
0
|
0
|
0
|
0
|
|
0
|
1
|
1
|
0
|
|
1
|
0
|
1
|
0
|
|
1
|
1
|
0
|
1
|
FULL
ADDER (2-bit)
|
MASUKAN
|
KELUARAN
|
|||
|
Cin
|
A
|
B
|
JML (S)
|
Bawaan
Keluar (Co)
|
|
0
|
0
|
0
|
0
|
0
|
|
0
|
0
|
1
|
1
|
0
|
|
0
|
1
|
0
|
1
|
0
|
|
0
|
1
|
1
|
0
|
1
|
|
1
|
0
|
0
|
1
|
0
|
|
1
|
0
|
1
|
0
|
1
|
|
1
|
1
|
0
|
0
|
1
|
|
1
|
1
|
1
|
1
|
1
|
RANGKAIAN
LOGIKA SEKUENSIAL
Outputnya tidak hanya bergantung pada nilai input saat itu, tetapi juga
input-input sebelumnya (karakteristik memori).
Piranti : Flip-flop, register dan counter.
Berdasarkan waktu sinyal, dibedakan menjadi :
• Rangkaian sekuensial
sinkron
Operasinya disinkronkan dengan pulsa waktu yang dihasilkan oleh pembangkit
pulsa yang merupakan masukan bagi rangkaian. Keluaran akan berubah hanya setiap
adanya masukan pulsa waktu, meskipun inputnya tidak berubah.
• Rangkaian sekuensial
asinkron:
Operasinya hanya bergantung pada input, dan dapat dipengaruhi setiap waktu.
Flip-flop (FF) : perangkat bistabil, hanya dapat berada pada salah satu statusnya saja,
jika input tidak ada, FF tetap mempertahankan statusnya. Maka FF dapat
berfungsi sebagai memori 1-bit.
JENIS
- JENIS FLIP-FLOP
FF-RS (dirangkai dari NAND gate)
Tabel Kebenaran :
SET 0
1 1 0
RESET 1
0 0 1
TETAP 1
1 tidak berubah
2. FF – RS berdetak
Dengan adanya detak akan membuat FF-RS bekerja sinkron atau aktif HIGH.
Tabel Kebenaran :
MASUKAN KELUARAN
MODE OPERASI Ck S R
Q Q’
3. FLIP-FLOP D
Sebuah
masalah yang terjadi pada Flip-flop RS adalah saat keadaan R = 1, S = 1 harus
dihindarkan. Satu cara untuk mengatasinya adalah dengan mengizinkan hanya
sebuah input saja. FF-D mampu mengatasi masalah tersebut.
Tabel Kebenaran :
|
D
|
Q
|
|
0
|
0
|
|
1
|
1
|
4. FLIP-FLOP JK
Implementasi gate/rangkaian gerbang FF-JK dan simbol
logikanya adalah seperti gambar berikut :
Tabel Kebenaran FF-JK :
Mode Operasi Masukan Keluaran
CK
J K Q
Q’
Tetap 0 0 tidak
berubah
Reset 0 1 0
1
Set 1 0 1 0
Togel 1 1 kondisi berlawanan
C. REGISTER
Fungsi : sebagai memori sementara untuk penggeseran data ke kiri atau ke
kanan. Dibangun dari kumpulan flip-flop, banyaknya flip-flop menentukan panjang
register dan juga panjang kata biner yang dapat disimpan di dalam register.
Register ada dua macam : Register Seri dan
Register Paralel.
Sistem Bilangan (Desimal, Biner, Oktal, Hexa) dan Gerbang Logika
1. Konversi Desimal ke Biner
Cara untuk mengkonversi bilangan desimal ke bilangan biner
adalah dengan pembagian. Bilangan desimal yang akan diubah secara
berturut-turut dibagi 2, dengan memperhatikan sisa pembagiannya.
Tentunya akan muncul pertanyaan, kenapa harus dibagi dengan 2 ?
Kiranya perlu diketahui bahwa bilangan biner adalah sistem bilangan yang
berbasis 2, yaitu hanya dikenal bilangan 1 dan 0 saja. Bilangan 1 dapat pula
dikatakan High atau On sedangkan bilangan 0 disebut pula dengan Low atau Off.
Sisa pembagian akan bernilai 0 atau 1, yang akan membentuk bilangan
biner dengan sisa yang terakhir menunjukkan MSB.
Untuk penulisan hasil konversi untuk semua bilangan dituliskan mulai
dari posisi MSB (Most Significant Bit = Bit yang paling berarti) menuju ke
posisi bilangan yang LSB (Least Significant Bit = Bit yang paling tidak
berarti). Dengan kata lain penulisan hasil konversi dimulai dari MSB ke LSB.
Sebagai contoh untuk mengubah angka desimal 52 menjadi bilangan
biner diperlukan langkah-langkah sebagai berikut :
52/2 = 26, sisa 0 –> LSB
26/2 = 13, sisa 0
13/2 = 6 , sisa 1
6/2 = 3 , sisa 0
3/2 = 1 , sisa 1
1/2 = 0 , sisa 1 –> MSB
maka didapatkan dari hasil konversi desimal 52 adalah Biner
: 110100
2. Konversi Desimal ke Oktal
Bilangan Oktal adalah sistem bilangan yang berbasis 8.
Bilangan desimal yang akan diubah secara berturut-turut dibagi dengan 8
dan sisa pembagiannya harus selalu dicatat.
Bilangan oktal dimulai dari bilangan 0, 1, 2, 3, 4, 5, 6, 7
Sebagai contoh untuk mengubah bilangan desimal 5819 ke Oktal,
langkah-langkahnya adalah sebagai berikut :
5819/8 = 727 , sisa 3 –> LSB
727/8 = 90 ,
sisa 7
90/8 = 11
, sisa 2
11/8 = 1
, sisa 3
1/8 = 0
, sisa 1 –> MSB
sehingga desimal 5819 adalah Oktal 13273
3. Konversi Oktal ke Biner
Untuk mengubah bilangan Oktal menjadi bilangan Biner dapat dilakukan
dengan cara mengubah setiap angka dari bilangan Oktal menajadi bilangan Biner
sebanyak 3 bit.
Sebagai contoh untuk mengubah bilangan Oktal 56 menjadi bilangan
Biner, langkah-langkahnya adalah sebagai berikut :
56 è 5 = 101 (dalam biner 3 bit)
6 = 110 (dalam biner 3 bit)
Jadi Oktal 56 = 101 110 Biner
Contoh yang lain :
234 Oktal è 2 = 010
3 = 011
4 = 100
Jadi Oktal 234 = 010 011 100 Biner
Catatan : Untuk penulisan hasil konversi tidak diberlakukan sistem
MSB – LSB, karena masing-masing bilangan yang ada langsung dikonversi sesuai
dengan kedudukannya.
4. Konversi Hexa ke Biner
Bilangan Hexa juga merupakan salah satu bentuk bilangan yang sudah
ada sebelumnya, dan berfungsi pula dalam sebuah rangkaian logika. Namun
bilangan Hexa ini tidak seperti bilangan yang lainnya, bilangan ini mempunyai
16 suku angka atau digit seperti berikut :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Huruf A sampai huruf F adalah sebagai pengganti dari angka-angka
bilangan desimal mulai dari 10 sampai dengan 15.
|
HEXA
|
DESIMAL
|
|
A
|
10
|
|
B
|
11
|
|
C
|
12
|
|
D
|
13
|
|
E
|
14
|
|
F
|
15
|
Seperti halnya dengan sistem bilangan yang lainnya, maka sistem
bilangan Hexa juga mempunyai harga tempat serti berikut :
Hexa =
163 162
161 160
Desimal = 4096
256 16
1
Untuk melakukan konversi bilangan Hexa menjadi bilangan Biner,
langkahnya mirip dengan cara mengkonversi bilangan Oktal menjadi bilangan
Biner, hanya saja untuk konversi Hexa – Biner yang perlu diperhatikan adalah
menggunakan 4 bit bilangan Biner dari setiap angka yang dikonversikan. Sebagai
contoh, Hexa 275 diubah menjadi Biner maka pengerjaannya adalah sebagai berikut
:
Hexa 275 è
2 = 0010
7 = 0111
5 = 0101
maka hasil konversi dapat dituliskan : Hexa 275 = Biner 0010
0111 0101